Есть ли способ «форсировать» формат текста в виджетах tkinter (или любой)? Например, некоторые формы онлайн, при вводе вашего номера телефона, поступают предварительно в формате (___)___-____
и разрешают только 10 записей номеров. Есть ли способ сделать это в python?Форматирование форматированного текста в виджету ввода
ответ
Нет ничего встроенного, но виджет ввода имеет достаточную функциональность, чтобы вы могли сами создать его.
Например, если шаблон «xxx-xxxx», вы можете установить привязку, которая автоматически вставляет тире, когда обнаружены три символа, и вы также можете настроить проверку ввода, которая позволяет только номера в первых трех позициях ,
Вы можете увидеть простой пример в статье, опубликованной публикацией packt. См. Статью Miscellaneous Tips и выполните поиск «Форматирование данных виджета»
Более простым решением является использование трех виджетов ввода вместе с метками для требуемых частей.
Я ценю это. Я заинтересован в этом подходе, мне нравится знать, как дела обстоят больше, чем встроенная функциональность. – user71666
Почти тот же вопрос был задан [два дня назад] (http://stackoverflow.com/q/30022059/3714930), я дал ответ, используя 'validatecommand'. Конечно, как отмечает Брайан Оукли, есть несколько вариантов, в зависимости от того, какое именно поведение вы хотите. – fhdrsdg
Спасибо, я собираюсь прочитать это! – user71666