QT5 C++槽函数的两种connect连接方式的区别,建议使用现代的连接方式

(1)QT5 C++ 槽函数定义
class MainWindow : public QMainWindow {
Q_OBJECT
// ......
private slots:
void slotSplitterMoved(int, int);
// ......
}

(2)使用旧的字符串connect连接方式,容易报错或者警告
连接 splitterMoved 信号到 handleSplitterMoved 槽,如果使用下面旧的字符串连接方式,需要确保信号和槽的签名没有多余的空格,否则容易报错或者警告。
connect(g_pSplitterMain.get(), SIGNAL(splitterMoved(int, int)), this, SLOT(slotSplitterMoved(int, int)));

上面代码编译时警告:mainwindow.cpp:218:36: Signature is not normalized. Use splitterMoved(int,int) instead of splitterMoved(int, int) [clazy-connect-not-normalized]
在你的代码中,提示你将 splitterMoved(int, int) 改为 splitterMoved(int,int),这是因为 Qt 的 connect 函数要求信号和槽的签名没有多余的空格。

(3)建议使用现代的连接方式
chatGPT建议使用现代的连接方式:
connect(g_pSplitterMain.get(), &QSplitter::splitterMoved, this, &MainWindow::slotSplitterMoved);

QT5 C++槽函数的两种connect连接方式的区别,建议使用现代的连接方式的更多相关文章

  1. QPushButton槽函数触发两次的问题

    以前经常使用qt creator界面管理直接跳转到槽函数没发现这个问题,今天手动写了个槽函数发现按键会触发两次.根据网上的说法是按键会自动连接一个槽函数,如果我们手动添加的槽函数命名规则符合槽函数的命 ...

  2. JavaScript 函数的两种声明方式

    1.函数声明的方式 JavaScript声明函数有两种选择:函数声明法,表达式定义法. 函数声明法 function sum (num1 ,num2){ return num1+num2 } 表达式定 ...

  3. C模块回调Lua函数的两种方法

    作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...

  4. (转)DLL中导出函数的两种方式(dllexport与.def文件)

    DLL中导出函数的两种方式(dllexport与.def文件)http://www.cnblogs.com/enterBeijingThreetimes/archive/2010/08/04/1792 ...

  5. 【转】DLL中导出函数的两种方式(dllexport与.def文件)

    DLL中导出函数的两种方式(dllexport与.def文件) DLL中导出函数的声明有两种方式: 一种方式是:在函数声明中加上__declspec(dllexport):另外一种方式是:采用模块定义 ...

  6. strcmp函数的两种实现

    strcmp函数的两种实现,gcc测试通过. 一种实现: C代码   #include<stdio.h> int strcmp(const char *str1,const char *s ...

  7. PyQt5信号与槽关联的两种方式

    目录 通过QtDesigner 手动关联的方式 通过QtDesigner 单击菜单栏切换到信号槽编辑模式 单击控件并拖动鼠标到信号的接收对象上,一般为对话框自己,松开鼠标弹出信号和槽选择框 选中cli ...

  8. C-C++到底支不支持VLA以及两种语言中const的区别

    C-C++到底支不支持VLA以及两种语言中const的区别 到底支不支持VLA VLA就是variable-length array,也就是变长数组. 最近写程序的时候无意间发现,gcc中竟然支持下面 ...

  9. Cesium 中两种添加 model 方法的区别

    概述 Cesium 中包含两种添加 model 的方法,分别为: 通过 viewer.entities.add() 函数添加 通过 viewer.scene.primitives.add() 函数添加 ...

  10. 转:GET和POST两种基本请求方法的区别

    原文地址:GET和POST两种基本请求方法的区别 原文如下: GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL ...

随机推荐

  1. 【6】LCA学习笔记

    前言 WFLS 2023 暑假集训 Day 2 Day 3 做完一部分老师的 LCA 题单后,我觉得人都要升华了.教练说前几年正是考这个玩意的时候,所以出的题目弯弯绕绕.我的评价:不如字符串. LCA ...

  2. 记录一次Armbian安装宝塔面板遇到ModuleNotFoundError: No module named '_sqlite3'的问题

    如果在用Armbian安装宝塔面板的时候遇到ModuleNotFoundError: No module named '_sqlite3'报错,并且无法进入web面板界面,可以尝试以下操作. 报错界面 ...

  3. 前端开发系列130-进阶篇之TS、Class and ES5

    本文讨论Typescript中的Class同ES5构造函数的对应关系,涉及TypeScript的诸多语法.构造函数.面向对象以及原型对象等相关知识点细节,本文只简单对比并不进行深入展开. TypeSc ...

  4. cmake 文档连接

    简介 https://cmake.org/cmake/help 用作留存

  5. amr 数据格式

    参考文章 大牛博客

  6. C++ 里面的极限数字

    简介 我们写程序的时候经常遇到为某个值赋值为最大/最小值.但是有些数字很难记.这个库给你保存了你想要的极限值 参考链接 http://www.cplusplus.com/reference/limit ...

  7. SciTech-Management-Organizing:组织-RMM(Role Management Model):角色管理模型 的 民主共和 VS 层级结构明确的ARCI(责任分配矩阵)法则

    Organizing:组织-RMM(Role Management Model):角色管理模型 根据"人群"与"社会"的"民主"和" ...

  8. Linux 受到开发者偏爱的 9 个理由!-九五小庞

    Linux 在 GNU 通用公共许可证(GPL)的推动下开发和发布,是一个可以免费使用的开源操作系统.使用者只要遵守许可条款,就可以运行.研究.编辑和重新发布源代码. 我们日常所使用的大多数设备运行的 ...

  9. Unity开源搜索引擎

    https://unitylist.com/

  10. MyEMS能源管理系统后台配置-能源费率管理

    MyEMS开源能源管理系统适用于建筑.工厂.商场.医院.园区的电.水.气等能源数据采集.分析.报表,还有光伏.储能.充电桩.微电网.设备控制.故障诊断.工单管理.人工智能优化等可选功能. 本文介绍My ...