Qtの基礎 - シグナルとスロット

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2021年1月26日 (火) 12:58時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == シグナルおよびスロットの詳細は、以下のWebサイトを参照すること。<br> https://blog.qt.io/jp/2010/07/20/create-signals-and-slots-2…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

シグナルおよびスロットの詳細は、以下のWebサイトを参照すること。
https://blog.qt.io/jp/2010/07/20/create-signals-and-slots-2


シグナルとスロット

connect関数を使用して、シグナルとスロットの設定を行う。

 connect(sender, SIGNAL(signal), receiver, SLOT(slot));


以下に、connenct関数の引数の意味を記載する。

  • sender
    信号が発生するコントロールIDまたはクラスのアドレスを渡す。
  • SIGNAL(signal)
    signalに信号とする関数名を渡す。
    例: プッシュボタンの場合、SIGNAL(clicked())と記述する。
  • receiver
    信号を受信するコントロールIDまたはクラスのアドレスを渡す。
  • SLOT(slot)
    信号を受信した時に呼び出す関数名を渡す。



connect関数の使用方法

 #include "mainwindow.h"
 #include <QApplication>
 #include <QPushButton>
 
 int main(int argc, char *argv[])
 {
    QApplication app(argc, argv);
 
    QPushButton* button = new QPushButton("Quit");
    QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
    button->show();
 
    return app.exec();
 }