1
我想用一個主窗口和一個後臺線程來構建一個應用程序,該線程檢查循環中的某個條件,並且當條件滿足時,將主窗口前方。 要使窗口前面我使用lift()
方法,但它不起作用。 所以,我沒有從Python命令行下面的實驗:python的Tkinter包的lift()方法不起作用
from Tkinter import *
root = Tk()
出現一個TK窗口。最小化窗口,然後:
root.lift()
沒有任何反應。我也嘗試在提升之前啓動窗口的主循環:
import thread
# start mainloop in separate thread so we can continue typing
thread.start_new_thread(root.mainloop,())
root.lift()
再次,沒有任何反應。在我的實際代碼中,情況更糟糕 - 一旦我呼叫lift()
,窗口就會卡住並停止響應。
我在做什麼錯?
(我使用Python 2.7.2在Windows 7中)
好的。我在上面的實驗中嘗試了deiconify,它工作。謝謝。現在我該如何使用線程來更新窗口?是否有一些窗口消息機制? – roel
您需要使用隊列。在stackoverflow上有幾個例子。例如,http://stackoverflow.com/a/1198288/7432 –
感謝您的提示。我使用鏈接示例中的'after'方法解決了我的問題。 – roel