当前位置: 首页 > wzjs >正文

湖南中高风险地区seo网站推广技术

湖南中高风险地区,seo网站推广技术,长春今天最新通告,wordpress注册不1.带参数的信号和槽 Qt的信号与槽也支持带有参数,同时也可以支持重载 此处我们要求,信号函数的参数列表要和对应连接的槽函数参数列表一致 此时信号触发,调用到槽函数的时候,信号函数中的实参就能够被传递到槽函数的形参中 示例…

1.带参数的信号和槽   

        Qt的信号与槽也支持带有参数,同时也可以支持重载

        此处我们要求,信号函数的参数列表要和对应连接的槽函数参数列表一致

        此时信号触发,调用到槽函数的时候,信号函数中的实参就能够被传递到槽函数的形参中

        示例1:重载信号槽

        (1) 在“Widget.h”头文件中声明重载的信号函数以及重载的槽函数如下图所示

        (2) 在“Widget.cpp”文件实现重载函数以及连接信号和槽

        这里一开始我是直接直接连接信号和槽的如下图,直接报错说没有匹配的函数来调用,其实这里我个人的理解就是函数重载,如果直接连接信号和槽就算我们发射的信号是带参数的也没有办法确定要调用的是哪个槽函数,所以会报错,我们通过函数指针的方式指明参数就可以明确当发射带参数的信号时需要调用的槽函数。

        (3)执行结果如下

示例2:信号槽参数列表匹配规则

        (1)在“Widget.h”头文件中声明信号和槽函数

        (2) 在“Widget.cpp”文件中实现槽函数以及连接信号和槽

        注意:信号的参数可以多于槽函数的参数个数,但是槽的参数个数不能多于信号参数个数,但是实际开发中最好还是保持参数个数也能匹配一致

2.信号与槽的连接方式

2.1 一对一

        主要有两种形式,分别是:一个信号连接一个槽 和 一个信号连接一个信号

        (1)一个信号连接一个槽

        示例:

        1.在“widget.h”中声明信号和槽以及信号发射函数

        2.在“widget.cpp”中实现槽函数,信号发射函数以及连接信号和槽

(2)一个信号连接另一个信号

        示例:在上述示例的基础上,在“widget.cpp”文件中添加如下代码

2.2 一对多

        一个信号多个槽

        示例:

        (1)在 "widget.h" 头⽂件中声明⼀个信号和三个槽;

(2)在 "widget.cpp" ⽂件中实现槽函数以及连接信号和槽;

2.3 多对一

        多个信号连接一个槽函数

示例:

        (1)在 "widget.h" 头⽂件中声明两个信号以及⼀个槽;

        (2)在 "widget.cpp" ⽂件中实现槽函数以及连接信号和槽;

3.信号和槽的其他说明

3.1 信号和槽的断开

        使用disconnect即可完成断开。

        disconnect的用法和connect基本一致

示例:

3.2 使用Lambda表达式定义槽函数

        Qt5 在 Qt4 的基础上提⾼了信号与槽的灵活性,允许使⽤任意函数作为槽函数。
        但如果想⽅便的编写槽函数,⽐如在编写函数时连函数名都不想定义,则可以通过 Lambda表达式 来达到这个⽬的。
        Lambda表达式 是 C++11 增加的特性。C++11 中的 Lambda表达式 ⽤于定义并创建匿名的函数对象,以简化编程⼯作。
        Lambda表达式 的语法格式如下:
[ capture ] ( params ) opt -> ret { Function body; 
};

说明:
        • 由于使⽤引⽤⽅式捕获对象会有局部变量释放了⽽Lambda函数还没有被调⽤的情况。如果执⾏ Lambda函数,那么引⽤传递⽅式捕获进来的局部变量的值不可预知。所以绝⼤多数场合使⽤的形式为: [=] () { }
        • 早期版本的 Qt,若要使⽤Lambda表达式,要在 ".pro" ⽂件中添加: CONFIG += C++11
因为 Lambda表达式 是 C++11 标准提出的。Qt5 以上的版本⽆需⼿动添加,在新建项⽬时会⾃动
添加。

3.3信号与槽的优缺点

        优点: 松散耦合信号发送者不需要知道发出的信号被哪个对象的槽函数接收,槽函数也不需要知道哪些信号关联了⾃⼰,Qt的信号槽机制保证了信号与槽函数的调⽤。⽀持信号槽机制的类或者⽗类必须继承于 QObject 类。
        缺点: 效率较低与回调函数相⽐,信号和槽稍微慢⼀些,因为它们提供了更⾼的灵活性,尽管在实际应⽤程序中差别不⼤。通过信号调⽤的槽函数⽐直接调⽤的速度慢约10倍(这是定位信号的接收对象所需的开销;遍历所有关联;编组/解组传递的参数;多线程时,信号可能需要排队),这种调⽤速度对性能要求不是⾮常⾼的场景是可以忽略的,是可以满⾜绝⼤部分场景。
http://www.dtcms.com/wzjs/190085.html

相关文章:

  • 青海省建设厅勘察设计备案网站百度搜索量统计
  • 软件工程师英文北京seo关键词优化收费
  • 网站外网访问怎么做路由器端口映射网络舆情优化公司
  • 网站建设标书样本百度做个人简介多少钱
  • 做行程的网站 哪个最好登封网站建设公司
  • 深圳做网站jm3q网站的建设流程
  • 荔湾区做网站信息流优化
  • mvc6 网站开发实战客户关系管理系统
  • 石碣镇仿做网站seo优化工作有哪些
  • 建设信用卡银行积分兑换商城网站建一个自己的网站
  • 深圳微信网站制作合肥seo排名扣费
  • 360免费建站 服务期什么时候网络推广
  • 秦皇岛网站定制哪家好南京seo整站优化技术
  • 网站设计顺德网购平台推广方案
  • 知名做网站公司制作网站用什么软件
  • 建视频网站网络营销的平台有哪些
  • 秒赞网站建设seoul怎么读
  • 建设企业网站新闻开发的意义乐天seo培训
  • 包头市住房和城乡建设局官方网站百度点击软件名风
  • 婚纱摄影网站源码实事新闻热点
  • 网站目录层级建设找客户的软件有哪些
  • 宜昌建设银行网站网站注册流程
  • 购物建设网站费用全国疫情高峰感染高峰进度
  • 请简述网络营销的特点上海seo网站优化
  • 网站建设设计视频宁波seo推广推荐
  • 网站的建设与管理项目推广方案怎么写
  • 做网站合同封面刷推广链接人数的软件
  • 一级a行做爰片免费网站万网域名查询接口
  • 免费做网站平台最近一周新闻大事摘抄
  • 公司网站建设行业怎么样怎样搭建自己的网站