QObject(1) - 对象和槽

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

Qobject 类提供了QT 的核心交互机制,即信号和槽。

 

关于信号和槽主要有5 个函数

 

1 connect() 连接信号和槽

2 disconnect() 断开连接

3 connectNotify() 连接时调用此函数

4 disconnectNotify() 断开时调用此函数

5 blockSignal() 是否阻止发送信号

 

具体的函数格式,可以参看qt的官方说明文档。

 

下面以例子说明

例子包含三个文件main.cpp GwObject.h GwObject.cpp

 

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

GwObject.h

1 定义了testint )信号,test 信号携带了一个int 的信息

2 定义了onTest(int) 槽,接受一个int 的信息

3 构造函数中将testonTest 连接了起来。

4 startTest(int x) 将会发送一个test(x) 的信号

 

5 重载了connectNotify 即当有连接动作时,自动调用此函数

6 重载了disconnectNotify 即当有断开连接动作时,自动调用此函数。

 

 

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

GwObject.cpp 是对GwObject.h 的实现

 

main.cpp

新建一个GwObject 对象g

首先发送一个test(1) 信号,应该能收到。

然后block 掉。

发送test(2) 信号,应该发不出。

然后取消block

发送test(3) 信号,应该能收到。

然后断开连接.

发送test(4) 信号,应该收不到。

最后将g 删掉

 

g 被删除时会发送destroy() 信号

 

连接gdestroyaquit, 这样,g 被删除的同时,程序也退出。

 

具体一些的东西可以看看官方帮助文档。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值