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

Qt 5 当类的信号函数和成员函数,函数名相同时,连接信号和槽的写法。

前言:因为项目需要,软件要在windows7上运行,然后项目目前是qt6写的,然后搜索资料,需要qt5.15.2或之前的版本才能在win7上运行,于是下载了qt5.15.2,将qt6的代码在qt5编译时,很多错误,一些莫名其妙的错,比如函数没有定义的错误,此时需要将头文件和源文件的编码格式改成GB2312才行;有些qt6新增的函数得改成qt5中有的函数。因为用到蓝牙,所以写了个蓝牙管理器类,发现连接信号和槽时,提示参数不一致错误,仔细看了api,才发现成员函数名和信号函数名一样,导致原来的那种连接方式会报错,后来换了一种写法才行,以此记录修改过程。

连接信号和槽的两种写法

1)简写法,适合信号函数和成员函数,函数名不会相同的情形。

// 示例,QBluetoothDeviceDiscoveryAgent类中,成员函数error()和信号函数error(QBluetoothDeviceDiscoveryAgent::Error),函数名一样,此种写法编译(vs2019编译)报错
connect(m_deviceDiscoveryAgentPtr, &QBluetoothDeviceDiscoveryAgent::error,this, &BleClientManager::onDeviceDiscoveryErrorOccurred); //设备发现出现错误,因为信号函数和成员函数的函数名一样,无法这样写

2)注明信号函数和槽函数参数的写法,对于信号函数和槽函数,函数名相同时,也适用。

connect(m_deviceDiscoveryAgentPtr, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)),this, SLOT(onDeviceDiscoveryErrorOccurred(QBluetoothDeviceDiscoveryAgent::Error))); //设备发现出现错误

http://www.lryc.cn/news/409175.html

相关文章:

  • Vuex 介绍及示例
  • 【elementui】记录如何重命名elementui组件名称
  • MySQL面试篇章—MySQL锁机制
  • OAK相机支持的图像传感器有哪些?
  • 网络安全威胁情报是什么,它对代工生产(OEM)意味着什么?
  • 【基础篇】Docker 架构与组件 TWO
  • 03。正式拿捏ArkTS语言第一天
  • 【PyTorch][chapter 27][李宏毅深度学习][attention-3]
  • java-数据结构与算法-02-数据结构-05-栈
  • Python 管理依赖包(pip, virtualenv)
  • Bigdecimal 导出为excel时显示未0E-10,不是0,怎么解决
  • springboot项目从jdk8升级为jdk17过程记录
  • list、tuple、set和dict传参机制
  • Redis快速入门基础
  • python基础介绍
  • SSRF中伪协议学习
  • Java | Leetcode Java题解之第284题窥视迭代器
  • 哈尔滨等保定级的常见问题
  • springAOP理解及事务
  • Optional类的使用 java8(附代码)
  • 企业利用AI智能名片S2B2C商城小程序参与社区团购的风险与机遇分析
  • 全链路追踪 性能监控,GO 应用可观测全面升级
  • 深入探索CSS3的Media Query:打造响应式网页设计的利器
  • DDD(Domain-Driven Design)领域驱动设计
  • 基于k8s快速搭建docker镜像服务的demo
  • “论大数据处理架构及其应用”写作框架,软考高级论文,系统架构设计师论文
  • tarojs项目启动篇
  • Maven打包时将本地 jar 加入 classpath
  • Spring Boot打出的jar包为什么可以独立运行
  • “微软蓝屏”事件:网络安全与稳定性的深刻反思