QObject::connect(&button, &QPushButton::clicked, &QApplication::quit);

https://www.devbean.net/2012/08/qt-study-road-2-signal-slot/

// !!! Qt 5
#include <QApplication>
#include <QPushButton>

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

    QPushButton button("Quit");
    QObject::connect(&button, &QPushButton::clicked, &QApplication::quit);
    button.show();

    return app.exec();
}

这里要仔细分析QObject::connect()这个函数。

在 Qt 5 中,QObject::connect()有五个重载:

这五个重载的返回值都是QMetaObject::Connection,现在我们不去关心这个返回值。下面我们先来看看connect()函数最常用的一般形式:

这是我们最常用的形式。connect()一般会使用前面四个参数,第一个是发出信号的对象,第二个是发送对象发出的信号,第三个是接收信号的对象,第四个是接收对象在接收到信号之后所需要调用的函数。也就是说,当 sender 发出了 signal 信号之后,会自动调用 receiver 的 slot 函数。

 

posted @ 2018-04-19 17:34  sky20080101  阅读(1394)  评论(0)    收藏  举报