java
您现在所在的位置:首页>企业动态>java

信号和槽的关联方式_Qt技术知识讲解

编辑:学到牛牛IT培训    发布日期: 2022-12-07 11:02:27  

在QT里面信号(signal)和槽(slot)是关键所在,当对象的状态发生改变的时候,就会发射信号出去,而且对象只负责发送信号,这样就做到了真正的信息封装。槽函数则是用来接收信号,但是一个信号的签名必须和接收槽的签名相匹配。这里需要注意几点:一个信号可以连接多个槽;多个信号可以连接同一个槽;信号与信号之间也可以相互连接。


而信号和槽之间的关联方式则有一下几种:



1, Signal、slot的Edit方式;


1.png


在信号和槽的编辑区点击“加号”创建新的信号和槽的连接。


 1.png


然后选择我们信号的发送者、信号类型、接收者以及槽,通过手动的方式将信号和槽之间连接起来。



2, 通过快捷键F4、F3连接;


先通过快捷键F4或点击工具栏上的按钮进入信号和槽的编辑模模式。


3.png


然后选中信号的发送者,并指向信号的接收者,


4.png


在弹出的窗口里面选择信号类型和接收的槽,


5.png


完成连接,然后快捷键F3退出编辑模式。

 

6.png


3, 转到槽;


选中信号发送者,点击鼠标右键选择转到槽的方式


7.png


跳转到源文件界面之后,在槽函数里面写入代码,使信号和槽关联起来,

  

8.png


4, 自定义信号和槽


首先在头文件里面自定槽函数,然后跳转到源文件里面,编辑槽函数;

 

9.png


在构造函数里面添加connect将信号和槽关联起来;


10.png


在connect这个函数里面一共包括了五种参数,我们一般使用的都是前四种参数,分别是信号的发送者,信号类型,信号的接收者以及槽函数。而第五个参数则是关联的类型,一般不填,为默认值。


在自定义信号和槽里面还有一种定义方式是基于函数指针的,构造函数如下;

 

12.png


其他的操作与之前相同。


信号和槽的关联应该注意以下几点:

1. 要注意信号和槽函数的参数数量相同时,参数类型要一致;

2. 要注意当信号和槽函数的参数数量不一致的时候,只能是信号的参数数量多于槽函数的参数数量;

3. 要注意在不进行参数传递的时候,信号和槽绑定时也要求信号的参数数量多于槽函数的参数数量,也就是一个带参的信号去绑定无参的槽函数。


免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • java_java学习教程_java最新资讯-学到牛牛
    java_java学习教程_java最新资讯-学到牛牛

    扫一扫,免费咨询

  • java_java学习教程_java最新资讯-学到牛牛
    java_java学习教程_java最新资讯-学到牛牛

    微信公众号

  • java_java学习教程_java最新资讯-学到牛牛
java_java学习教程_java最新资讯-学到牛牛

学一流技术,找高薪工作

java_java学习教程_java最新资讯-学到牛牛

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问