シグナルとスロット機構

簡単な紹介

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()関数の最も一般的に使用される一般的な形式:

(送信者、信号、受信機、スロット)を接続します。

パラメータ:

差出人:へ信号を発行します

信号:送信対象により放射された信号

レシーバ:ターゲット信号を受信します

スロット:と呼ばれる所望の信号を受信した後に、目的関数を受信します

おすすめ

転載: www.cnblogs.com/xumaomao/p/12342690.html