繁体   English   中英

在Tkinter中打开新窗口将冻结程序(python 3.6)

[英]Opening new window in Tkinter freezes the program (python 3.6)

我有这样的事情:

第一.py

from tkinter import *

def new_window(event):
    root.destroy()
    import second

root = Tk()
b = Button(root, text='New window')
b.pack()
b.bind('<Button-1>', new_window)
root.mainloop()

第二个

from tkinter import *
root = Tk()
root.mainloop()

但是,当我打开第二个窗口时,第一个窗口被破坏了(我希望如此),但是第二个窗口却被冻结了(显示了出来,但是顶部没有关闭按钮,我只看到了启动图标)。 为什么会这样呢? 我不杀死第一个循环吗?

之所以可能出现此问题,是因为import second永远不会返回,因为它所做的最后一件事情是调用root.mainloop() 由于它永远不会返回,因此第一个窗口中的回调永远不会完成。 而且由于它永远不会完成,因此无法处理任何其他事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM