(三)簡單的信號和槽

/**
    Qt 4.8
    一個簡單的信號與槽。
    單擊按鈕,退出信號。
    IFPELSET
*/
#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton quitButton("quit");
    quitButton.show();
    QObject::connect(&quitButton, SIGNAL(clicked()), &app, SLOT(quit()));

    return app.exec();
}
/**
    Qt 5.2
    簡單的信號和槽
    IFPELSET
*/
#include <../QtWidgets/QApplication>
#include <../QtWidgets/QPushButton>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QPushButton quitButton("quit");
    /*Qt4*/
    //QObject::connect(&quitButton, SIGNAL(clicked()), &app, SLOT(quit()));
    /*Qt5 不指定接收者*/
    //QObject::connect(&quitButton, &QPushButton::clicked, &QApplication::quit);
    /*Qt5 指定接收者*/
    //QObject::connect(&quitButton, &QPushButton::clicked, &app, &QApplication::quit);
    /*傳入Lambda表達式*/
    QObject::connect(&quitButton, &QPushButton::clicked, [](bool){
        qDebug() << "You clicked me ...";
    });
    //QObject::connect(&quitButton, &QPushButton::clicked, []{qDebug() << "You clicked me ...";});
    quitButton.show();

    return app.exec();
}

運行效果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章