一、错误提示

error: C2664: “QMetaObject::Connection QObject::connect(const QObject *,const char *,const char *,Qt::ConnectionType) const”: 无法将参数 2 从“overloaded-function”转换为“const char *”

二、错误原因

1、Qt5的connect添加了编译器类型检查,如果遇到匹配失败的,或者找不到信号/槽的地方,会直接报错,而不是qt4到运行期才告诉用户。

2、使用函数指针能够获得编译期的类型检查,而这样也有弊端,当遇到重载信号槽的时候在编译器就会报错。

三、解决办法

1、使用C++的静态类型转换。

QButtonGroup *btn = new QButtonGroup(this);
// 绑定信号槽
connect(btn, static_cast<void (QButtonGroup:: *)(int)>(&QButtonGroup::buttonPressed),this, &PanelWidget::btnPressed);

2、手动声明一个函数指针,只想目标的信号/槽方法。

void (ClassA:: *p)(QString, QDate) = &ClassA::signalFunciton;
connect(&a, p, &b,    &Reader::slotFunction);

或者

connect(&a,(void (ClassA:: *)(QString, ))&ClassA::signalFunciton, b,    &ClassB::slotFunction);

Qt5,信号槽关联错误相关推荐

  1. 【QT|趣谈】最详细的信号槽机制介绍!

    用最有趣的方式解释信号槽通讯机制 1 导语:信号槽的前世今生 2 QT的信号槽 2.1什么是信号槽? 2.2 用严谨的语言解释信号槽 3 信号槽实战 3.1 信号槽实例 4 信号槽plus 4.1 L ...

  2. QT信号槽与connect的常见写法

    QT文章列表 常见connect写法 QAction connect(ui->Open_File,&QAction::triggered,this,&MainWindow::Op ...

  3. QT5动态创建多个按钮控件并关联信号槽函数

    创建QT对话框工程,动态创建多个按钮,把动态创建的按钮存放在QList中,并关联同一个信号槽函数,在该槽函数中根据按钮对象名称各自进行其他事项处理. 在mainwindow.h文件添加 #ifndef ...

  4. Qt的信号槽机制介绍(含Qt5与Qt4的差异对比)

    转载地址: https://blog.csdn.net/nicai888/article/details/51169520 一 闲谈: 熟悉Window下编程的小伙伴们,对其消息机制并不陌生, 话说: ...

  5. 【Qt教程】1.6 - Qt5信号与槽、Single Slot emit、自定义信号、自定义槽

    信号与槽 1. 说明 概念:信号和槽,是Qt对象间通信的接口.信号Signal.槽Slot,分别对应着事件的发送端和接受端. 语法: connect( 信号的发送者, 发送的具体信号, 信号的接收者, ...

  6. Qt5学习笔记之QQ登录界面二:登录按钮与信号槽

    这里写目录标题 概述 使用帮助 自动关联 手动关联 概述 主要是了解QT的信号槽机制,并为登录按键增加一些响应. 使用帮助 使用帮助查看Push Button的信号 自动关联 1.在登录按钮直接右键: ...

  7. 对QT5信号与槽的认识

    关键字参数理解: 在QT中,连接槽与信号的关键字是connect,它里面的参数如下: 按照我的理解,里面四个参数分别如下: 1.信号发送者 2.发送的信号 3.信号接收者 4.接收的信号 [拓]: 信 ...

  8. Qt5 学习之路及嵌入式开发教程4:代码编写实现信号槽例子

    Qt5 学习之路及嵌入式开发教程4:代码编写实现信号槽例子 整体设计思路: 第一步:先设置整体界面控件的位置及大小: 第二步:添加代码,实现信号槽功能: 第三步:调试运行程序,实现程序功能. 一.整体 ...

  9. 6.QT信号槽的时序分析

    前面已经分析了元对象系统.MOC文件和信号槽的连接,本文分析下信号槽的时序 信号的触发通过emit关键字触发,以sigf1为例,通常是这样的 emit sigf1(t1) emit就是个空宏,在qob ...

  10. 1.QT元对象系统、信号槽概述、宏Q_OBJECT

    一.元对象系统(Meta-Object System) Qt添加C++原本不具备的元对象系统,元对象系统提供了信号槽机制,运行时类型信息和动态属性系统. 元对象系统基于三点: 1.元对象系统为以QOb ...

最新文章

  1. P4216 [SCOI2015]情报传递 LCA+树上主席树 离线操作
  2. java 套娃_【leetcode编程题目354】俄罗斯套娃
  3. Android --- Bundle实现数据的读取
  4. html写三角形,css3怎么写三角形?
  5. HTML显示xml中的CDATA内容
  6. 2021年2月Harmonyos时候上线,华为HarmonyOS系统将于4月上线 MateX2首批升级
  7. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)
  8. C#使用TCP/IP与ModBus进行通讯
  9. 非maven项目转成maven后pom.xml解决方法
  10. 无国界医生_如何在5分钟内创建无国界风格的技能树
  11. 黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法
  12. LOJ10155数字转换
  13. ORM + 数据库链接池
  14. 解决docker push镜像到docker hub报没有权限
  15. nanopc t3开发板系统烧录_基础教程18 定制 Arduino 系统
  16. LaTeX编写IEEE会议论文字体报错、且参考文献中会议/期刊的名字没有斜体的问题解决
  17. 马上跨年了,用Python带你看一场跨年烟花秀
  18. Codeforces Round 63 (Rated for Div. 2) F. Delivery Oligopoly dp+图论状态转移
  19. 通俗易懂的大数据平台概念和架构
  20. 青少年CTF Misc-Easy 女神的朋友圈 WP

热门文章

  1. Atom: 几个常用的快捷键,恢复主菜单
  2. 阿里云徐栋:“下一代互联网”三大技术趋势
  3. 阿里云祝顺民:云网络的十年“修路”历程
  4. 您有一份来自阿里云达摩院的邀请函待查收!
  5. Kafka从上手到实践 - Kafka CLI:Consumer CLI Producer CLI | 凌云时刻
  6. ajax中sy,黑马eesy_15 Vue:vue语法和生命周期与ajax异步请求
  7. 【E-DEEC】基于matlab增强的分布式能源有效集群(E-DEEC)【含Matlab源码 1566期】
  8. 【水果识别】基于matlab GUI灰度+二值化+腐蚀+膨胀算法水果识别【含Matlab源码 671期】
  9. pytorch torchvision的版本对应关系 pytorch历史版本
  10. laravel 集合从父中移除_在 Laravel 7 中优雅使用 UUID 教程