我有一个按下按钮时创建的顶级窗口小部件。如果再次按下相同的按钮,如何在顶级窗口小部件仍处于打开状态时将其移动到顶级窗口小部件中,我该怎么做呢?
答案 0 :(得分:1)
想象一下,你在课堂上有以下方法。按下按钮时会调用此方法。您还将在__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
当toplevel小部件被销毁时,您还需要将self.toplevel
重置为None
。
另请参阅小部件的focus_set
方法。您可能必须将take_focus
属性设置为True
以获取顶级窗口小部件。但是,您可能希望将焦点设置到顶层小部件上的特定小部件(例如文本框)。