Advertisement

在Qt中自定义信号槽

阅读量:

此前在实际操作中曾多次接触信号与槽的机制,例如:当用户点击按钮时触发特定函数,诸如此类的情形。

此类功能通常是在图形界面中,通过将控件与对应的槽函数进行绑定来实现的。那么,如何借助自定义的信号与槽机制来达成相同的效果呢?

复制代码
    //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,
复制代码
    //第二个参数信号,
复制代码
    //第三个参数this是槽方法所属类的对象,且必须在对象类的头文件的slots下定义
复制代码
    //第四个参数槽方法类,槽 方法
复制代码
    SIGNALQStringthisSLOT

在应用自定义信号与槽机制时,需注意以下几个关键事项:

1、类的声明部分应置于.h文件中,而具体实现则应编写于.cpp文件内;
2、在类的声明中必须引入Q_OBJECT宏;
3、信号仅需进行声明,无需编写对应的实现函数;
4、使用emit关键字来触发信号的发射;
5、自定义槽函数的实现方式与普通成员函数一致;

6、所有信号和槽函数均需在类的头文件中进行定义;

7、所有槽函数必须包含在public slots语句块中;

上述代码示例已在Windows 7系统环境下,搭配MingW4.7编译器完成调试。QT

全部评论 (0)

还没有任何评论哟~