Python Tkinter - предотвратить состояние фокуса на последней нажатой кнопке

Я работаю над базовым интерфейсом PIN-кода для сенсорного экрана с Python 2.7 Tkinter и ttk. Я разрабатываю сценарий для Windows, но в конечном итоге он будет загружен в ОС Linux.

Я пытаюсь предотвратить то, что показано на кнопке "6" на изображении ниже, то есть пунктирная рамка вокруг кнопки, которая была нажата последней. Поскольку я не хочу, чтобы люди легко крали ПИН-код у моих пользователей, я должен предотвратить это, в противном случае становится действительно легко узнать, какой у них ПИН-код, просто взглянув на экран. Я заметил, что это поведение становится еще более очевидным в LINUX с чем-то вроде толстой белой рамки вокруг кнопки.

Интерфейс тк

Я называю свои кнопки внутри цикла следующим образом:

ttk.Style().configure('TButton', padding=11, relief="flat", background="#ccc", foreground="#393939", width=4,font='Arial 9')


btn = ttk.Button(window, text = txt, command = lambda txt=txt:self.addChar(txt))
btn.grid(row=row, column=col, padx=1, pady=1)

1 ответ

Решение

Решение довольно простое: измените addChar функция для перемещения фокуса обратно к другому виджету после вставки символа.

Другие вопросы по тегам