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

QT4和 QT5 槽函数连接的区别

正常连接方式

//QT4官方用列QLabel *label = new QLabel;QScrollBar *scrollBar = new QScrollBar;QObject::connect(scrollBar, SIGNAL(valueChanged(int)),label,  SLOT(setNum(int)));
//QT5官方用列QLabel *label = new QLabel;QLineEdit *lineEdit = new QLineEdit;QObject::connect(lineEdit, &QLineEdit::textChanged,label,  &QLabel::setText);

有重载的信号槽 连接方式

//Qt4在连接有重载信号槽时,直接在原有基础上写上形参数即可。

在这里插入图片描述

//Qt5在连接有重载信号槽时,需要使用函数指针,提前绑定重载信号和槽的地址,区别是有参还是无参信号槽。

在这里插入图片描述
最后一行,使用有参的信号 连接 无参的槽函数。

两者区别

QT5连接方式:

缺点:使用稍复杂
优点:connect()的第2和第4参数传递的是地址,编译器在编译过程中会对数据的正确性进行检测。如信号名写错,或参数写错,会报错。

QT4连接方式:

优势:使用简单
缺点:在进行信号槽连接的时候,信号槽函数通过宏SIGNALSLOT转换为字符串类型。宏函数内部的数据不会被检测,传错数据编译器不会报错,且运行起来发现问题不容易定位。

总结

推荐使用 QT5 方式进行信号槽连接。

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

相关文章:

  • 使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo
  • SQL复杂查询功能介绍及示例
  • shell基础用法
  • C#设计模式--策略模式(Strategy Pattern)
  • 【opencv入门教程】15. 访问像素的十四种方式
  • 【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
  • 根据html的段落长度设置QtextBrowser的显示内容,最少显示一个段落
  • 基于Huffman编码的GPS定位数据无损压缩算法
  • php:完整部署Grid++Report到php项目,并实现模板打印
  • C标签和 EL表达式的在前端界面的应用
  • Linux絮絮叨(四) 系统目录结构
  • Java基于SpringBoot的网上订餐系统,附源码
  • 《Java核心技术I》死锁
  • 【Windows11系统局域网共享文件数据】
  • MCU、ARM体系结构,单片机基础,单片机操作
  • 在办公室环境中用HMD替代传统显示器的优势
  • ssm 多数据源 注解版本
  • selenium常见接口函数使用
  • STM32F103单片机使用STM32CubeMX新建IAR工程步骤
  • 刷题重开:找出字符串中第一个匹配项的下标——解题思路记录
  • product/admin/list?page=0size=10field=jancodevalue=4562249292272
  • 人工智能机器学习无监督学习概念及应用详解
  • APM装机教程(五):测绘无人船
  • 微信小程序 运行出错 弹出提示框(获取token失败,请重试 或者 请求失败)
  • IDEA的service窗口中启动类是灰色且容易消失
  • R中利用ggplot2绘制气泡图
  • CID引流电商
  • 在google cloud虚拟机上配置anaconda虚拟环境简单教程
  • windows下用vs搭配clang一起生成抽象语法树
  • 输入法:点三下输入一个汉字