免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 970 | 回复: 0
打印 上一主题 下一主题

Qt信号和槽 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-04 00:58 |只看该作者 |倒序浏览

信号
一个特定的标识,当内部发生某些事件或状态改变时能够被“发射”

槽和普通的C++类的成员函数几乎是一样的
唯一不同的是:槽可以和信号连接在一起,当发射这个信号的时候,就会自动调用这个槽
作用
对象之间通信的高级接口
事件出现时,通过发送信号将与之关联的槽函数激活,即执行槽函数代码
程序总结
信号和槽的连接基本实现语句:
QObject::connect(a,SIGNAL(a_signal(int)),
                 b,SLOT(b_slot(int)))
Connect是静态成员函数,需要加QObject::
  如果是QObject子类来调用则不用
连接的两个对象需要在连接前已经存在,否则会报错
连接本身不会导致信号的发射和槽的执行
a_signal和b_slot中只能有参数类型
3信号和槽(连接规则)
1.一个信号可以连接多个槽
2.多个信号可以连接一个槽
3.一个信号可以与另外一个信号相连接
4.信号和槽(参数匹配
要把信号成功连接到槽或另一个信号,它们的参数必须具有相同的顺序和类型
注:参数匹配是逐字母检查,所以类型必须严格一致。如string和const string就不匹配
5.例外:信号参数比槽多,多余参数被忽略
如果类型不匹配,或信号和槽不存在,编译时不会报错,运行时会有警告




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104504/showart_2063841.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP