Python 在windows xp上调用gtk.threads_init()后,gobject.timeout_add()不起作用
下面的简单代码将永远挂在WindowsXP上,“检查对话框”文本永远不会输出到控制台。代码中创建的窗口显示但被阻止(当我将鼠标移动到窗口区域时,鼠标指针始终是一个“加载”图标) 而同样的代码在Windows7上运行良好 运行时详细信息:WindowsXPSP3、Python2.7.5、pytgtk-2.24-allinonePython 在windows xp上调用gtk.threads_init()后,gobject.timeout_add()不起作用,python,multithreading,user-interface,gtk,pygtk,Python,Multithreading,User Interface,Gtk,Pygtk,下面的简单代码将永远挂在WindowsXP上,“检查对话框”文本永远不会输出到控制台。代码中创建的窗口显示但被阻止(当我将鼠标移动到窗口区域时,鼠标指针始终是一个“加载”图标) 而同样的代码在Windows7上运行良好 运行时详细信息:WindowsXPSP3、Python2.7.5、pytgtk-2.24-allinone import gtk import gobject def checkDialog(): print 'check dialog' return True go
import gtk
import gobject
def checkDialog():
print 'check dialog'
return True
gobject.timeout_add(500, checkDialog)
gtk.threads_init()
w = gtk.Window()
w.show()
gtk.main()
最后,irc频道的一个家伙#pygtk给了我答案: 我需要使用gobject.threads\u init()而不是gtk.threads\u init()
在这里可以找到一个完整的解决方案在Debian sid上测试,它可以工作。窗口显示,“检查对话框”mesasges打印到控制台。@LiuLang,您在Windows XP上测试过吗?对不起,我没有Windows系统:-(@LiuLang,很抱歉我看到了“窗口显示”为“窗口显示”。)。。