Я разрабатываю кадр «настроек» для приложения Python/Tkinter, которое позволяет пользователю указать IP-адрес, номер порта и пару других настраиваемых параметров. Я хочу проверить данные пользователя, прежде чем позволить пользователю закрыть рамку, чтобы применить их.Должна ли быть проверена проверка Tkinter?
Исходя из того, что я читал на (и пробовал) до сих пор с Entry
виджета validate
и validatecommand
варианты, единственные выборы, которые они предлагают «тяжеловесный» валидация. Тип, в котором пользователь заблокирован, оставляя виджет ввода (или даже набрав больше нажатий клавиш), пока запись не будет действительна. Это именно то поведение, которое я избегаю при разработке графического интерфейса, потому что это раздражает, поскольку все выходы для пользователя.
Я планирую переключиться на использование методов .trace, чтобы следить за значениями и просто отключить кнопку «ОК/Применить» до тех пор, пока все записи в кадре не будут действительны. Прежде чем я это сделал, я хотел знать, не хватает ли я чего-либо в отношении встроенных параметров проверки. Есть ли вариант, который я пропустил, это менее тяжело?
Можно ли установить обратный вызов ['invalidcommand'] (http://www.tcl.tk/man/tcl8.4/TkCmd/entry.htm#M16), который переносит тяжесть? –