为什么threading.Timer函数不能用python中的Gtk.main调用
问题描述:
我想在Gtk应用程序中轮询一个函数。该代码是...为什么threading.Timer函数不能用python中的Gtk.main调用
from gi.repository import Gtk
import sys,threading
def destroy(k):
print "destroyed"
sys.exit()
def poll():
print "called it "
t=threading.Timer(1,poll)
t.start()
build=Gtk.Builder()
build.add_from_file('test.glade') # it just creates a top level window
window=build.get_object("boxy")
build.connect_signals({"destroyit":destroy})
window.show_all()
t=threading.Timer(1,poll)
t.start()
Gtk.main()
不执行轮询功能。但如果我删除Gtk.main(),它工作得很好。所以这是怎么回事。为什么它不主要工作而不是与主...我如何执行一个轮询函数在这个..任何其他选择比threading.timer?
编辑:我发现的方式通过GObject.timeout_add(5000,民意调查),但我仍想知道身边,为什么threading.Timer功能犯规执行...
答
好,我找到了答案,我的问题...
GObject.timeout_add(5000,poll)