如何在没有按钮的情况下关闭tkinter窗口而不完全关闭Python?

问题描述 投票:0回答:1

我知道有一些命令,如.destroy().exit()等。但是,当从按钮参数中取出“命令”时,按下时采取的动作,它们不起作用。

我的方案是当用户成功登录时,包含其小部件的Tkinter窗口应该在pygame中的GUI打开后关闭。我只是不希望Tkinter窗口出现在我不再需要它的同时也不会退出Python。我不想要一个按钮,因为我希望这个过程是自动的。

令我困惑的是为什么当把这个命令单独拿出来时,它不起作用:

Button(root, text="Quit", command=root.destroy).pack() #works
root.destroy() #don't works
python tkinter window exit
1个回答
0
投票

没有看到更多的源代码,我想问题是基于你调用root.destroy()的地方

如果它是在阻止tk.mainloop()后,它永远不会到达。有关此问题,请阅读Tkinter understanding mainloop

基于以上内容的可能解决方案:

while True:
    tk.update_idletasks()
    tk.update()
    if login_successful: # or whatever your login check looks like
        root.destroy()

您将mainloop替换为自定义循环,其中包括检查是否成功登录。

© www.soinside.com 2019 - 2024. All rights reserved.