Python 2.7 Tkinter quit()冻结窗口
我得到了一个代码,它在Tkinter(根,Tk对象)中创建了一个隐藏的主窗口,而不是顶级窗口。我使用Python 2.7 Tkinter quit()冻结窗口,python-2.7,user-interface,tkinter,graphics,Python 2.7,User Interface,Tkinter,Graphics,我得到了一个代码,它在Tkinter(根,Tk对象)中创建了一个隐藏的主窗口,而不是顶级窗口。我使用after()将mainloop()传递给代码的其余部分,但窗口只是冻结。我不想破坏应用程序,只是为了运行其余的代码 我将after中的毫秒设置为10000,并注意到只有在10秒后,当它在mainloop之后打印时,窗口才会冻结 有人知道为什么吗?我能做些什么使它工作吗 root = Tk() top = Toplevel() top.after(10000, top.quit) top.mai
after()
将mainloop()
传递给代码的其余部分,但窗口只是冻结。我不想破坏应用程序,只是为了运行其余的代码
我将after中的毫秒设置为10000,并注意到只有在10秒后,当它在mainloop之后打印时,窗口才会冻结
有人知道为什么吗?我能做些什么使它工作吗
root = Tk()
top = Toplevel()
top.after(10000, top.quit)
top.mainloop()
print 'After mainloop'
非常感谢任何人都很难用你发布的内容进行调试。我建议你使用top.iconify()
而不是隐藏应用程序。假设chat
是一个窗口。我不想关闭应用程序,只想在mainloop()之后转到代码。请尝试iconify
查看。我犯了一个错误,编写了chat而不是top。我不明白,我应该在哪里使用iconify?在有聊天室的地方替换它。退出当我这样做时,它会变成一个小图标,但会停留在mainloop()中,而不会到达以下代码行“冻结”是什么意思?既然主窗口中没有任何小部件,您怎么知道呢?此外,在顶级窗口中调用mainloop
也没有意义。你应该在tkinter程序中调用mainloop
一次。所谓冻结,我的意思是我不能再移动它,甚至不能尝试关闭它,当我放置小部件测试它时,它们不会做出反应。然而,我找到了一种通过线程调用mainloop()来克服这个障碍的方法,所以我的程序可以正常工作。感谢所有试图帮助你的人。你绝对不需要这个五行程序的线程。你确定这个确切的代码会冻结在你身上吗?这个确切的代码会冻结,但我计划将它开发成比5行更大更复杂的东西。这只是为了理解我的问题,让我能理解你是如何运行代码的?在命令行中使用python调用_program.py
,或者使用其他方式运行代码?