簡単な紹介
QT信号及びスロットは、その機構HOリードフレームの一つです。いわゆるスロット信号は、観察者が実際のモードです。イベントが発生すると、例えば、ボタンがクリックされた自分自身のビットを検出し、それがシグナル(信号)を送信します。この問題は、放送と同様の目的、noです。あなたがこの主題に興味がある場合は信号があり、それは、接続(接続)機能を使用することを意味し、信号は、独自の機能であり、この信号に対処するためにバインドするために(スロット(スロット)と呼ばれる)プロセスになるでしょうし。つまり、信号が発行されると、スロット機能は、自動的にコールバックに接続されています。これは、オブザーバーパターンに似ています。興味のあるイベントが発生した場合、一回の操作が自動的にトリガされます。(オブザーバーパターンの古典的な実装ではないのGoF達成するために追加の処理を用いて、ここで信号Qtの溝を言及しています。)
簡単な例
書式#include <はQApplication> 書式#include <のQPushButton> INTメイン(int型 ARGC、CHAR * ARGV []) { QApplicationアプリ(ARGC、ARGV)。 QPushButtonボタン(" 終了" ); QObject ::接続(&ボタン、&のQPushButton ::クリックすると、&アプリ、&はQApplication ::終了)。 button.show(); 戻るapp.exec(); }
その後のQt Creatorで良好なプロジェクトを作成するプロジェクトを作成する方法、および上記コードのmain()関数を変更します。ファイル名を指定して実行]をクリックし、我々はボタンが表示されます、「トップはメッセージを終了します」。ボタンをクリックして、プログラムが終了します。
CONNECT()関数
CONNECT()関数の最も一般的に使用される一般的な形式:
(送信者、信号、受信機、スロット)を接続します。
パラメータ:
差出人:へ信号を発行します
信号:送信対象により放射された信号
レシーバ:ターゲット信号を受信します
スロット:と呼ばれる所望の信号を受信した後に、目的関数を受信します