我试图构建一个带有主窗口和后台线程的应用程序,该线程检查循环中的某个条件,当条件满足时,将主窗口置于前面。
为了将窗口置于最前面,我使用了lift()
方法,但它不起作用。
所以我在python命令行中做了以下实验:
from Tkinter import *
root = Tk()
出现tk窗口。最小化窗口,然后:
^{pr2}$什么也没发生。我还试着在打开前启动窗户的主回路:
import thread
# start mainloop in separate thread so we can continue typing
thread.start_new_thread(root.mainloop, ())
root.lift()
再说一遍,什么也没发生。在我的实际代码中,情况更糟-一旦我调用lift()
,窗口就会卡住并停止响应。在
我做错什么了?在
(我在Windows7上使用Python2.7.2。)
不能在与创建小部件的线程不同的线程中运行主循环。事实上,您根本无法从另一个线程与小部件进行交互。在
要恢复最小化窗口的效果,需要使用deiconify方法。在
相关问题 更多 >
编程相关推荐