我正在使用python和gtk。 有一個檢查線程,它查找變量。如果所有條件都正常,則應該向gtk.main循環引發一個事件。提出的事件應該打開一個窗口並開始一些其他的事情。python gtk + events
它是這樣的:
if x==True and y==True:
raise event
def event:
newWindow()
請給一個代碼示例如何實現此
我正在使用python和gtk。 有一個檢查線程,它查找變量。如果所有條件都正常,則應該向gtk.main循環引發一個事件。提出的事件應該打開一個窗口並開始一些其他的事情。python gtk + events
它是這樣的:
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事件總是有一個目標。您無法將事件發送到「主循環」。大多數目標是小部件。您可以:
第一個選項對我最有意義。我包括第二個只是爲了告訴你它可以完成(它最類似於你所要求的)。如果您使用多個線程或進程,第三個可能會很有用,並且對於您創建窗口的哪個線程或進程非常重要。