信号与槽(1)
信号与槽(1)
QT中的信号
三要素:
1.信号源:由哪个控件发出
2.信号的类型:用户进行不同的操作,都会触发不一样的信号
3.信号的处理方式:槽(slot)
QT中可以使用connect()把一个槽和函数关联起来,后续只要有信号了,QT就会自动执行信号
注意点:
QT中一定是先关联信号和槽,再触发信号,否则就会错过信号
connect的具体使用
connect(const QObject*server,//描述当前信号是由哪个控件发出const char*signal,//信号类型const QObject*receiver,//哪个对象(控件)进行处理const char*method//哪种方式进行处理(要处理信号的对象提供的成员函数))
其实所谓的信号也是QT中的对象,内部提供的一些成员函数
锯齿状是槽函数的图标,带有信号标志的则是信号函数
click是一个槽函数(slot),作用:调用的时候相当于点击了一次按钮;
clicked才是要触发的信号
举个例子:
connect(button,&QPushButton::clicked,this,&Widget::close);
//button必须要是QPushButton的对象,不能是别的
如何知道QT提供哪些内置的信号和槽?
可以去官方文档看这个类的父类
以QPushButton为例子:
些内置的信号和槽?*
可以去官方文档看这个类的父类
以QPushButton为例子: