私は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イベントには常にターゲットがあります。「メインループに」イベントを送信することはできません。ほとんどのターゲットはウィジェットです。あなたはできる:
最初のオプションは私にとって最も理にかなっています。私はそれができることをあなたに伝えるために2番目を含めました(それはあなたが求めるものに最も似ています)。3つ目は、複数のスレッドまたはプロセスで作業している場合に役立つことがあり、どのスレッドまたはプロセスがウィンドウの作成を行うかが重要です。