以下简单代码将永久挂起在Windows XP上,并且“检查对话框”文本永远不会输出到控制台。在代码中创建的窗口显示但被阻止(当我将鼠标移动到窗口区域时,鼠标指针始终是“加载”图标)
虽然相同的代码在Windows 7上运行良好
运行时详细信息:Windows XP SP3,python 2.7.5,pytgtk-2.24-allinone
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()
答案 0 :(得分:0)
最后,来自irc频道#pygtk的一个人给了我答案:
我需要使用 gobject.threads_init()而不是 gtk.threads_init()
可在此处找到完整的解决方案pygtk gobject.timeout_add() won’t work after calling gtk.threads_init() on windows xp