[PySide] Signalを作成する

まだまだ続くPySide。最近これしかやってないですね(汗

clicked とか changed とか finished とか、デフォルトのWidgetにはいくつものシグナルがあります。
このシグナルを自分でも定義できたりするようなので、簡単なスクリプトでテストしてみました。

sendSignal が hello すると、printSignalが発せられたシグナルをプリントするスクリプト。

PySideは、emit() が実行されるとconnectされたSlotに対してシグナルを発します
このスクリプトの場合、hello関数を実行した瞬間シグナルが発せられる・・・という事になります。
helloを実行—シグナル発信—>printSignalがシグナルを受信して、関数を実行
シグナルには引数を設定することが出来、Signalの引数に、渡したい引数の型(クラスオブジェクトでも可?)を書けばOKのようです。
同様に、スロット側のデコレータにも、シグナルの引数と同様のものを入れます。
なるほど。

基本的な事ですが、コレが理解できたことでいろいろなことが試せそうです。
PySide便利だー!!!

コメントを残す

メールアドレスが公開されることはありません。


*