我正在使用 python 和 gtk。有一个检查线程,用于查找变量。如果所有条件都正常,它应该向 gtk.main 循环引发一个事件。引发的事件应该打开一个窗口并开始一些其他事情。
它是这样的:
if x==True and y==True:
raise event
def event:
newWindow()
请给出一个代码示例如何实现这个
我正在使用 python 和 gtk。有一个检查线程,用于查找变量。如果所有条件都正常,它应该向 gtk.main 循环引发一个事件。引发的事件应该打开一个窗口并开始一些其他事情。
它是这样的:
if x==True and y==True:
raise event
def event:
newWindow()
请给出一个代码示例如何实现这个
所以..自己搞定了。
代码很简单:
import gobject
class XX(gobject.GObject):
# define signal parameters
__gsignals__ = { 'signal-name' : (gobject.SIGNAL_RUN_FIRST, gobject.SIGNAL_TYPE_NONE, ())}
gobject.__init__(self)
def __init__(self):
# some code
def function(self):
# emit signal
self.emit('signal-name')
gtk 事件总是有一个目标。您不能将事件“发送到主循环”。大多数目标都是小部件。你可以:
第一个选项对我来说最有意义。我包括第二个只是为了告诉你它可以完成(它最类似于你所要求的)。如果您正在使用多个线程或进程,第三个可能很有用,并且哪个线程或进程创建窗口对您很重要。