之前碰到过很多信号槽的操作,比如:点击按钮触发什么函数,吧啦吧啦的
这种操作都是在界面上基于对应控件转到槽的方式实现的,如何用自定义的信号槽实现同样的功能?
//第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,
//第二个参数信号,
//第三个参数this是槽方法所属类的对象,且必须在对象类的头文件的slots下定义
//第四个参数槽方法类,槽 方法
connect(lineEdit,SIGNAL(textChanged(QString)),this,SLOT(showArea()));
使用自定义的信号和槽,需要注意以下几点:
1、类的声明和实现分别放在.h和.cpp文件中;2、类声明中必须包含Q_OBJECT宏;
3、信号只要声明不要设计其的实现函数;
4、发射信号用emit关键字;
5、自定义槽的实现与普通成员函数的实现一样;
6、信号和槽方法必须在类的头文件中定义;
7、所有的槽函数必须声明在public slots语句内;