/**
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();
}
運行效果: