PyQtでシグナルを定義する
Qtと言えば、インターフェースで何らかしらのアクションが発生した場合、シグナルに紐付けられたスロットが実行される流れが主流ですね!
そう、何かあればシグナルにコネクトすべし!と言う感じですが、シグナルをコネクトする際に面倒な事もあります。
例えばボタンをクリックした際に呼ばれたスロットでボタンのラベルを取得したい場合、シグナルには何の手がかりもないため、結局ボタンをクラス内メソッドに持っておかないといけないかったり。
もしくは各ボタンのclickedシグナルに、別々の関数をコネクトするなど、何かと不細工なコードになりがちです。
そこで、シグナルを自作して、自分の欲しい情報を引数として渡すようにしてみます。
とりあえずサンプルコードをば。
そう、何かあればシグナルにコネクトすべし!と言う感じですが、シグナルをコネクトする際に面倒な事もあります。
例えばボタンをクリックした際に呼ばれたスロットでボタンのラベルを取得したい場合、シグナルには何の手がかりもないため、結局ボタンをクラス内メソッドに持っておかないといけないかったり。
もしくは各ボタンのclickedシグナルに、別々の関数をコネクトするなど、何かと不細工なコードになりがちです。
そこで、シグナルを自作して、自分の欲しい情報を引数として渡すようにしてみます。
とりあえずサンプルコードをば。
スポンサーサイト