QT入门-标准信号和槽

connect函数使用的基本语法:

QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)

如:connect(&b1, &QPushButton::clicked, this, &MyWidget::close);

b1是信号的发出者,参数是一个指针。&QPushButton::clicked是信号发出者内部的一个信号(注意格式:首先是取地址符,然后限定信号发出者的作用域,最后加上信号的名字)。查看标准类的信号:F1。如果当前类内没有看到的话,可能是在父类里存在。如QAbstractButton。按钮用的最多的是clicked,也可用pressed和released等。然后注意到MyWidget类并非标准类,所以找其父类Widget按F1查看帮助文档。this是信号的接收者,也是一个指针。&MyWidget::close:信号的处理函数,属于this。

QT中信号函数只需要声明,槽函数既需要声明也需要定义(是回调函数)。

原文地址:https://www.cnblogs.com/lipoicyclic/p/13238161.html