2015-05-06 3 views
0

Есть ли способ «форсировать» формат текста в виджетах tkinter (или любой)? Например, некоторые формы онлайн, при вводе вашего номера телефона, поступают предварительно в формате (___)___-____ и разрешают только 10 записей номеров. Есть ли способ сделать это в python?Форматирование форматированного текста в виджету ввода

+0

Почти тот же вопрос был задан [два дня назад] (http://stackoverflow.com/q/30022059/3714930), я дал ответ, используя 'validatecommand'. Конечно, как отмечает Брайан Оукли, есть несколько вариантов, в зависимости от того, какое именно поведение вы хотите. – fhdrsdg

+0

Спасибо, я собираюсь прочитать это! – user71666

ответ

0

Нет ничего встроенного, но виджет ввода имеет достаточную функциональность, чтобы вы могли сами создать его.

Например, если шаблон «xxx-xxxx», вы можете установить привязку, которая автоматически вставляет тире, когда обнаружены три символа, и вы также можете настроить проверку ввода, которая позволяет только номера в первых трех позициях ,

Вы можете увидеть простой пример в статье, опубликованной публикацией packt. См. Статью Miscellaneous Tips и выполните поиск «Форматирование данных виджета»

Более простым решением является использование трех виджетов ввода вместе с метками для требуемых частей.

+0

Я ценю это. Я заинтересован в этом подходе, мне нравится знать, как дела обстоят больше, чем встроенная функциональность. – user71666