QT之消息响应

本文详细介绍了QT中的信号与槽机制,通过示例展示了如何使用`connect()`函数建立信号与槽的连接。内容包括信号和槽的定义、参数匹配规则,以及在非GUI场景中的应用。同时强调了`connect`为`QObject`的静态成员函数,并提醒开发者信号与槽参数的一致性要求。
摘要由CSDN通过智能技术生成
 

//参数说明

connect( 发射信号对象指针 , SIGNAL(发射信号的控件名(信号函数参数) , 接收信号对象指针,SLOT(接收信号控件名(信号参数))

例如: connect(findLine,SIGNAL(textChanged(QString)),this,SLOT(findFile(const QString &)));

一个信号可以连多槽

例如:

connect(slider, SIGNAL(valueChanged(int)),spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)),  this, SLOT(updateStatusBarIndicator(int)));

slider即滑动控件当他的值变化时,valueChanged(int),发出的信号被两个槽接受spinBox ,this(当前类)。

信号和信号,槽和槽,槽和信号,他们之间是可以相互响应的。其实信号与槽的信息交换都是以函数实现的。connect()函数其实是在QObject中实现的,并不局限于GUI,只要我们继承了QOject类,就可以应用信号槽机制。

例如:

class Employee : public QObject
{
        Q_OBJECT
public:
        Employee() { mySalary = 0; }
        int salary() const { return mySalary; }

public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值