Представьте, что у вас есть следующий метод в классе.Этот метод вызывается при нажатии кнопки.У вас также будет атрибут экземпляра, определенный в методе __init__
: self.toplevel = None
.
def button_press(self):
if self.toplevel is None:
self.toplevel = ... # another method to create toplevel widget
else:
# set focus to self.toplevel
# you can use self.toplevel.deiconify() if self.toplevel is minimised
# also look at self.toplevel.lift() to bring the window to the top
Вам также потребуется сбросить self.toplevel
на None
, когда виджет верхнего уровня уничтожен.
Также посмотрите на метод focus_set
виджетов.Возможно, вам придется установить атрибут take_focus
на True
для виджета верхнего уровня.Но, возможно, вы хотите установить фокус на конкретный виджет (например, текстовое поле) в виджете верхнего уровня.