创建新内容时,关闭现有的顶层。 Tkinter Python 3

时间:2018-09-17 14:05:33

标签: python tkinter window tk toplevel

程序中有一个按钮可以打开顶级窗口。 如果再次按下该按钮,我希望销毁旧的顶层并创建新的顶层。我搜索了几个小时,并尝试实现不同的方式,但似乎没有任何效果。

我尝试了各种形式的这些方法:

if toplevel is None or not toplevel.winfo_exists():
    toplevel.destroy()


try:
    toplevel.destroy()
except:
    pass


if toplevel.winfo_exists() == "1":
    toplevel.destroy()

我的代码如下:

def translate():
        #(I would like to check for and close existing toplevels here)
        toplevel = Toplevel()
        ...stuff

我非常感谢我能获得的所有帮助!

1 个答案:

答案 0 :(得分:2)

translate内,toplevel是局部变量。如果您想在translate之外访问它并且不使用类,则需要将其设置为全局。