Qt信号和槽知识点总结

server/2024/12/23 0:30:51/

信号和槽知识点总结

信号和槽函数介绍

信号是由于用户对窗口或控件进行了某些操作,导致窗口或者控件产生了某个特定事件,这时候Qt对应的窗口类会发出某个信号,以此对用户的挑选做出反应。信号的本质就是事件。在Qt中信号的发出者是某个实列化的类对象,对象内部可以进行相关事件的检测。

自定义信号:只需要声明,不需要实现,返回值是void类型,可以有参数,可以重载,要写在类中的Signal关键字下,在程序中发射自定义信号,其本质就是调用信号函数,习惯性在信号函数前加关键字:emit,但是可以省略不写,emit只是显示的声明一下信号要被发射了,没有特殊含义,底层 emit = #define emit,信号参数的作用就是数据传递,谁调用信号函数就指定实参,实参最终会被传递给槽函数。

槽函数是一类特殊的功能函数,在编码过程中也可以作为类的普通成员函数来使用。之所以称之为槽函数是因为它的职责就是对Qt框架中产生的信号进行处理。在Qt中槽函数的所有者也是某个类的实列对象。

自定义槽函数:既需要声明,也需要实现,返回值是void类型,可以参数,可以重载,早期版本必须写到Public Slots关键字下,高级版本就可以写到Public或者全局函数。

当自定义信号和槽函数出现重载,需要利用函数指针(格式:返回值类型(作用域类型*变量名)(参数类型))明确指向函数的地址,尤其要注意作用域类型不能忘记。

信号槽函数无参和有参举例如下:

//连接无参数的信号和槽
void(Teacher::* teacherSignal1)()=&Teacher::hungry;
void(Student::* studentSlot1)()=&Student::treat;//函数指针要明确归属类
connect(teacher,teacherSignal1,student,studentSlot1);//连接老师饿了的信号和学生请吃饭的槽函数
classIsOver1();//利用下课了触发老师饿了的信号,函数内部有emit触发//连接带参数的信号和槽(信号和槽函数的类型索引必须一一对应)
void(Teacher::

http://www.ppmy.cn/server/37694.html

相关文章

论文笔记ColdDTA:利用数据增强和基于注意力的特征融合进行药物靶标结合亲和力预测

ColdDTA发表在Computers in Biology and Medicine 的一篇一区文章 突出 • 数据增强和基于注意力的特征融合用于药物靶点结合亲和力预测。 • 与其他方法相比,它在 Davis、KIBA 和 BindingDB 数据集上显示出竞争性能。 • 可视化模型权重可以获得可解释的见解。 …

element-plus el-time-picker 时间段选择(可多选)

实现一个如图的时间段选择器 处理好时间回显逻辑&#xff0c;组件内[‘’,‘’],后端数据[{startTime:‘’,endTime:‘’}]处理好加和减的显示逻辑 <template><div><div v-for"(item, index) in currentChoose" :key"index" class"fl…

PLC学习笔记

PLC学习笔记 前言一、一些基操知识二、GX works2编程2.1 位逻辑1.2 中间寄存器1.3 PLC的扫描方式 总结 前言 我这个人真的是太渴望知识了~ 一、一些基操知识 一般X表示输入&#xff0c;Y表示输出。一般八个为一组X0~X7M表示中间寄存器&#xff0c;M0~M7时间T、计数C 二、GX …

Unity 性能优化之LOD技术(十)

提示&#xff1a;仅供参考&#xff0c;有误之处&#xff0c;麻烦大佬指出&#xff0c;不胜感激&#xff01; 文章目录 LOD技术效果一、LOD技术是什么&#xff1f;二、LODGroup组件介绍三、LODGroup组件使用步骤添加组件添加模型 四、Project Settings中与LOD组件相关参数总结 L…

ASP.NET网上鲜花销售系统的设计

摘 要 本系统实现了一般电子商务所具备的功能&#xff0c;如商品浏览、用户登录注册、网上与购物、结算、后台数据库管理等&#xff0c;利用这些功能可以对鲜花销售信息进行较好的管理。 网上鲜花销售系统的使用者主要是客户和销售管理者&#xff0c;对于客户来说&#xff0…

项目经理【过程】概念

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】任务 【环境】绩效 【人】概述 【人】原则 【人】任务 【人】绩效 【过程】概念 一、过程是什么 1.1 项目管理五大过程组 1.2 五大过程组之间的相互作用 1.3 项目阶段VS过…

如何更好地使用Kafka? - 运行监控篇

要确保Kafka在使用过程中的稳定性&#xff0c;需要从kafka在业务中的使用周期进行依次保障。主要可以分为&#xff1a;事先预防&#xff08;通过规范的使用、开发&#xff0c;预防问题产生&#xff09;、运行时监控&#xff08;保障集群稳定&#xff0c;出问题能及时发现&#…

应急响应-webserver

一.环境准备 1.镜像文件 2.任务说明 3.用户密码 二.应急响应 环境启动 1.导入镜像文件并修改网络 2.远程连接 ss -ntl #列出系统中运行的所有进程 用远程连接工具连接 任务一 Linux 服务日志默认存储在/var/log目录下 默认网站根目录&#xff1a;/var/www/html/ 1.查看…