Qt中使用信号与槽进行类与类之间的通信(父窗口直接调用函数触发子窗口信号的情况)
Qt中使用信号与槽进行类与类之间的通信(值传递):(父窗口调用信号和槽触发子窗口信号的情况,见本文)
1、A类中会发射信号(子部件)
class CA{undefined
signals:
void ASignal(quint8 pare_1,quint8 pare_2); //信号只有声明,没有定义,只是简单的传递函数
public:
void sendfunc();
};
void CA::sendfunc(){ //A中的某个函数会发射这个信号
//do sh.
emit ASignal(100,200); //发射信号
}
2、B类中接收信号(父窗口)
class CB{undefined
CA m_send; //CA类对象 //父窗口中会定义一个子部件类对象,就如同窗口中会new QPushbutton;
slots:
reponsefunc(quint8 pare_1,quint8 pare_2); //槽函数
};
class CB::CB(){undefined
//do sth.
//将对子窗口的操作发出信号,在父窗口中响应。 //将信号与槽函数进行关联
connect(&m_send,SIGNAL(ASignal(quint8 ,quint8)),this,SLOT(respnsefunc(qint8,qint8)));//将类A中的信号与类B中响应关联
//触发子窗口信号
m_send.sendfunc();
}
class CB::reponsefunc(quint8 pare_1,quint8 pare_2){undefined
//do sth.
}
总结:
1)Qt中的信号与linux中的信号有点像,linux中的信号简单,不能携带大量信息,Qt中的信号也是,只是参数传递,连函数定义都没有。
2)信号的声明是在子窗口类中定义的,因为这个信号属于子窗口类;
3)信号的触发也是在子窗口类中的,需要用一个函数来包含住这触发信号;
4)如同窗口中定义QPushbutton按钮 及使用clicked()信号一样,子窗口类需要在父窗口类中先定义一个对象。
————————————————
版权声明:本文为CSDN博主「modi000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/modi000/article/details/106042877
Qt中使用信号与槽进行类与类之间的通信(父窗口直接调用函数触发子窗口信号的情况)的更多相关文章
- Android笔记(三十二) Android中线程之间的通信(四)主线程给子线程发送消息
之前的例子都是我们在子线程(WorkerThread)当中处理并发送消息,然后在主线程(UI线程)中获取消息并修改UI,那么可以不可以在由主线程发送消息,子线程接收呢?我们按照之前的思路写一下代码: ...
- QT 子窗口监听主窗口信号(超级简单,但是好用,比如主窗口移动的时候,子窗口不要再继续处理任务)
MainWindow *ptr = NULL; ptr = (MainWindow*)parentWidget(); connect(ptr, SIGNAL(param_result(bool)), ...
- 关于父窗口获取跨域iframe子窗口中的元素
这几天在项目中遇到,一个难点, 就是需要异步加载一个pdf插件, 同时又需要获取这个插件中的点击事件来生成用户的下载记录. 刚开始也是想了很多方法,网上搜的 格式1:$("#iframe的I ...
- Qt信号与槽机制
一.信号和槽机制 信号和槽用于两个对象之间的通信,信号和槽机制是Qt的核心特征,也是Qt不同于其他开发框架的最突出的特征.在GUI编程中,当改变了一个部件时,总希望其他部件也能了解到该变化.更一般来说 ...
- Qt的信号和槽机制
一.信号和槽机制 信号和槽用于两个对象之间的通信,我们希望任何对象都可以和其他对象进行通信. 当一个特殊的事情发生时便可以发射一个信号,而槽就是一个函数,它在信号发射后被调用来相应这个信号.( ...
- [ PyQt入门教程 ] PyQt5信号与槽
信号和槽是PyQt编程对象之间进行通信的机制.每个继承自QWideget的控件都支持信号与槽机制.信号发射时(发送请求),连接的槽函数就会自动执行(针对请求进行处理).本文主要讲述信号和槽最基本.最经 ...
- QT_5_ Qt中信号和槽 + 自定义信号和槽 + lambda 表达式
1.Qt中信号和槽 1.1 需求:点击按钮关闭窗口 1.2 利用connect进行链接 1.3 参数1 信号发送者(指针) 参数2 发送的信号(信号地址) 参数3 信号的接受者(指针) 参数4 处理槽 ...
- Qt 信号和槽函数
信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性.当某个信号被发射,就需要调用与之相绑定的槽函数.这与Windows下的消息机制类似,消息机制是基于回调函数.一个回调即是一个函数的 ...
- QT 的信号与槽
转载: QT 的信号与槽机制介绍 QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 ...
- QT的信号与槽机制介绍
信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念.元对象工具以及在实际使用过程中应注意的一些问题. QT是一个跨平台的C++ GUI应用构架,它提供了丰富的窗 ...
随机推荐
- 关于vue关闭页面时去除定时器失效问题解决
1.先去除页面缓存,这个在路由部分 2.
- Mac os的防火墙导致开的热点手机连不上
在工位上用Mac给手机开热点用,结果今天手机一直连不上Mac开的热点,最后把Mac的防火墙关了就能让手机连上了,连上了再把防火墙打开也不影响连接.
- Containerd的架构简单学习
简单说明 这里,我们介绍一下containerd架构,以便于更好了理解containerd容器. 服务端子系统(Bundle和Runtime)和组件 下图是containerd的架构示意图: cont ...
- 阿里云javascript分片上传失败的解决办法
前端项目:React + Antd mobile + 阿里云OSS Node.js SDK实现文件上传. 在电脑上运行良好,放到手机上大文件就上传失败. 打开Chrome,地址栏输入`chrome:/ ...
- FactoryBean 和BeanFactory的傻傻的总是分不清?
引言 记得很久以前经常被问到这样一个面试题"FactoryBean 和BeanFactory它们有啥区别".在 Spring 框架中,BeanFactory 和 FactoryBe ...
- FFmpeg开发笔记(六十九)Windows给FFmpeg集成AV1编码器libaom
AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10.Mozilla Daala以及Cis ...
- Sql server 查看那个表占用的空间最多
要查看 SQL Server 中哪个表占用的空间最多,您可以使用以下查询来列出所有表及其占用的空间大小,并按照占用空间从大到小进行排序: SELECT t.NAME AS TableName, p.r ...
- CMD 命令启动管理员模式代码
::==========================================:: 获取管理员权限set _Args=%*if "%~1" NEQ "" ...
- 在 django-ninja 中实现类似腾讯阿里云的应用鉴权机制
前言 本文章介绍如何使用基于 AppClient 模型的 Django-Ninja API 鉴权机制. 这也是上次说的中台项目衍生物 中台项目相关的文章,我大概还会再写一篇 这个系列的文章注定是没什么 ...
- linux 目录结构 比较老
简介 计算机操作系统实验指导 linux版 linux arch 与体系结构相关的核心代码 drivers 设备驱动程序 include 编译核心所需的头文件 init 系统初始化代码 mm 独立于C ...