如何在没有按钮的情况下关闭tkinter窗口而不完全关闭Python?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在没有按钮的情况下关闭tkinter窗口而不完全关闭Python?相关的知识,希望对你有一定的参考价值。
我知道有一些命令,如.destroy()
,.exit()
等。但是,当从按钮参数中取出“命令”时,按下时采取的动作,它们不起作用。
我的方案是当用户成功登录时,包含其小部件的Tkinter窗口应该在pygame中的GUI打开后关闭。我只是不希望Tkinter窗口出现在我不再需要它的同时也不会退出Python。我不想要一个按钮,因为我希望这个过程是自动的。
令我困惑的是为什么当把这个命令单独拿出来时,它不起作用:
Button(root, text="Quit", command=root.destroy).pack() #works
root.destroy() #don't works
答案
没有看到更多的源代码,我想问题是基于你调用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
替换为自定义循环,其中包括检查是否成功登录。
以上是关于如何在没有按钮的情况下关闭tkinter窗口而不完全关闭Python?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有收到“您要关闭此窗口”提示的情况下关闭浏览器窗口?