C++でQTアプリ(その2) シグナルの追加
昨日のプログラムにシグナルを追加してみる。
hello.hでシグナルpbPressed()を宣言、シグナルの発生はemitを使うみたい。ボタンを押したら呼ばれるスロットでこのシグナルを発生するようにして、connectで新しいスロットslot_pbPressed()と結合させる。
これでボタンを押すとslot_pb()が呼ばれて、更にslot_pbPressed()が呼ばれるようになった。
hello.h
signals: void pbPressed(); private slots: void slot_pb(); void slot_pbPressed();
hello.cpp
QObject::connect( this, SIGNAL(pbPressed()), this, SLOT(slot_pbPressed()) ); void Hello::slot_pb() { eb->insertLine(tr("ボタンを押した")); emit pbPressed(); } void Hello::slot_pbPressed() { eb->insertLine(tr("シグナルpbPressed発生")); }