某个事件发生:它就会发出一个信号(Signal),类似广播。
如果有对象对这个信号感兴趣,就会使用连接函数 connect()。
意思是将想要处理的信号和自己的一个函数(称为槽(slot))绑定,以处理这个信号。
即i,信号发出时,被连接的槽函数就会自动被回调。
#include "mainwindow.h"
#include <QApplication> //应用程序类
#include<QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton button("Quit"); //一个按钮。
//设定connect(sender,signal,receiver,slot)函数
//即,按钮被点击的时候,发出clicked信号给应用程序app,应用程序执行退出quit
QObject::connect(&button,&QPushButton::clicked,&app,&QApplication::quit);
button.show(); //让按钮显示出来
return app.exec(); //程序进入消息循环,等待对用户输入进行响应。即main()函数把控制权转移给了Qt
//在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件
}
connect(sender,signal,receiver,slot)
sender:发出信号的对象
signal:发送的信号
receiver:接受信号的对象
slot:接收对象接收到信号之后所需要调用的函数
注意
- 槽函数参数可以比信号的少
- 信号和槽的参数类型需一致
- 参数顺序一致