1
我想用一個gui編寫一個python應用程序,而且我遇到了python的線程包問題。Python線程,新線程卡住
import pygtk
pygtk.require('2.0')
import gtk
import threading
import time
class gui:
def main(self):
print "starting gui"
gtk.main()
class logic:
def __call__(self):
time.sleep(1)
print "did logic"
if __name__ == "__main__":
threading.Thread(None, logic()).start()
gui().main()
輸出:
starting gui
邏輯從未發生過。爲什麼?我怎樣才能解決這個問題?
哇,這是非常複雜的。任何人都可以推薦另一個允許我使用另一個線程而不重新編譯它的GUI庫嗎? – Kevin 2012-01-02 07:01:22
您不必重新編譯GTK以使用線程。我所知道的所有發行版都有GTK編譯的線程支持,包括Windows上的GTK安裝程序。如果你只從主線程訪問GUI(例如通過發送消息到線程,使用idle_add等),你甚至不需要'threads_enter' /'threads_leave'。 – jdm 2012-01-02 10:48:09