1

我的应用程序中有一个说明窗口TopLevel。现在它看起来像:

def instructions(self):     
    window = Toplevel(takefocus = True)
    window.geometry("200x200")
    window.resizable(0, 0)
    Label(window, text = "WIP").grid()

所以它是主类的一部分,我定义了一个命令,当用户按下顶部菜单中的按钮或按下我定义的快捷方式 F3 时调用。我需要的是,当那个窗口出现时,我希望它集中注意力而不是打开一个新窗口。

它可能看起来像:

if window == exists:
    window.takefocus
else:
     do the upper and create it ....

同样在破坏时需要知道它已被破坏,否则我只能打开一次

4

1 回答 1

1

这似乎有效:

def instructions(self):        
    if self.window == None:
        self.window = Toplevel(takefocus = True)
        self.window.focus()
        self.window.geometry("200x200")
        self.window.resizable(0, 0)
        Label(self.window, text = "WIP").grid()
        self.window.protocol("WM_DELETE_WINDOW", self.windowclosed)
    else:
        self.window.focus()       
def windowclosed(self):
    self.window.destroy()
    self.window = None
于 2015-07-27T15:51:35.467 回答