网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

QT学习小结之信号与槽-创新互联

信号与槽函数是我们学习QT必备的基础知识,今天跟大家分享我学习QT的一些总结吧。

创新互联建站坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十载网站建设经验创新互联建站是成都老牌网站营销服务商,为您提供成都网站建设、成都网站设计、网站设计、HTML5建站、网站制作、品牌网站制作小程序定制开发服务,给众多知名企业提供过好品质的建站服务。

信号槽机制是Qt编程的基础。通过信号槽,能够使Qt各组件在不知道对方的情形下能够相互通讯。

槽函数和普通的C++成员函数没有很大的区别。它们也可以使virtual的;可以被重写;可以使public、protected或者private的;可以由其它的C++函数调用;参数可以是任何类型的。如果要说区别,那就是,槽函数可以和一个信号相连接,当这个信号发生时,它可以被自动调用。

信号与槽函数的连接我们可以用connect函数:

connect(sender,SIGNAL(signal()),receive,SLOT(slot()));

需要注意的几点问题:

1、一个信号可以和多个槽相连(槽函数被调用的顺序是随机的)

connect(sender,SIGNAL(signal()),this,SLOT(slot_1()));connect(sender,SIGNAL(signal()),this,SLOT(slot_2()));

2、多个信号可以连接同一个槽函数

connect(sender,SIGNAL(signal_1()),this,SLOT(slot()));connect(sender,SIGNAL(signal_2()),this,SLOT(slot()));

3、一个信号可以连接另外一个信号

connect(sender,SIGNAL(signal_1()),this,SIGNAL(signal_2()));

4、信号与槽函数之间的连接可以被取消

disconnect(sender,SIGNAL(signal()),this,SLOT(slot()));

5、信号与槽函数的参数个数、类型以及出现顺序必须一致,另外,当信号的参数个数多于槽函数时,信号多出的参数将会被忽略掉

connect(sender,SIGNAL(signal(int,const Qstring &)),this,SLOT(slot(int b,const Qstring &)));connect(sender,SIGNAL(signal(int,const  Qstring &)),this,SLOT(slot(int)));//此时const  Qstring &将会被忽略

6、宏定义不能用在signal和slot的参数中

7、函数指针不能作为信号与槽函数的参数,同时信号与槽函数也不能有缺省参数

8、友元声明不能位于信号或槽函数声明区内

9、信号与槽不能携带模板类参数

10、嵌套的类不能位于信号与槽函数区域内,也不能有信号或者槽函数

在使用信号与槽机制的时候,要注意避免陷入死循环,即在槽函数中再次发送所接收到的信号。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章名称:QT学习小结之信号与槽-创新互联
网址分享:http://bjjierui.cn/article/djggse.html

其他资讯