QT5 C++槽函数的两种connect连接方式的区别,建议使用现代的连接方式
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连接方式的区别,建议使用现代的连接方式的更多相关文章
- QPushButton槽函数触发两次的问题
以前经常使用qt creator界面管理直接跳转到槽函数没发现这个问题,今天手动写了个槽函数发现按键会触发两次.根据网上的说法是按键会自动连接一个槽函数,如果我们手动添加的槽函数命名规则符合槽函数的命 ...
- JavaScript 函数的两种声明方式
1.函数声明的方式 JavaScript声明函数有两种选择:函数声明法,表达式定义法. 函数声明法 function sum (num1 ,num2){ return num1+num2 } 表达式定 ...
- C模块回调Lua函数的两种方法
作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...
- (转)DLL中导出函数的两种方式(dllexport与.def文件)
DLL中导出函数的两种方式(dllexport与.def文件)http://www.cnblogs.com/enterBeijingThreetimes/archive/2010/08/04/1792 ...
- 【转】DLL中导出函数的两种方式(dllexport与.def文件)
DLL中导出函数的两种方式(dllexport与.def文件) DLL中导出函数的声明有两种方式: 一种方式是:在函数声明中加上__declspec(dllexport):另外一种方式是:采用模块定义 ...
- strcmp函数的两种实现
strcmp函数的两种实现,gcc测试通过. 一种实现: C代码 #include<stdio.h> int strcmp(const char *str1,const char *s ...
- PyQt5信号与槽关联的两种方式
目录 通过QtDesigner 手动关联的方式 通过QtDesigner 单击菜单栏切换到信号槽编辑模式 单击控件并拖动鼠标到信号的接收对象上,一般为对话框自己,松开鼠标弹出信号和槽选择框 选中cli ...
- C-C++到底支不支持VLA以及两种语言中const的区别
C-C++到底支不支持VLA以及两种语言中const的区别 到底支不支持VLA VLA就是variable-length array,也就是变长数组. 最近写程序的时候无意间发现,gcc中竟然支持下面 ...
- Cesium 中两种添加 model 方法的区别
概述 Cesium 中包含两种添加 model 的方法,分别为: 通过 viewer.entities.add() 函数添加 通过 viewer.scene.primitives.add() 函数添加 ...
- 转:GET和POST两种基本请求方法的区别
原文地址:GET和POST两种基本请求方法的区别 原文如下: GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL ...
随机推荐
- 【6】LCA学习笔记
前言 WFLS 2023 暑假集训 Day 2 Day 3 做完一部分老师的 LCA 题单后,我觉得人都要升华了.教练说前几年正是考这个玩意的时候,所以出的题目弯弯绕绕.我的评价:不如字符串. LCA ...
- 记录一次Armbian安装宝塔面板遇到ModuleNotFoundError: No module named '_sqlite3'的问题
如果在用Armbian安装宝塔面板的时候遇到ModuleNotFoundError: No module named '_sqlite3'报错,并且无法进入web面板界面,可以尝试以下操作. 报错界面 ...
- 前端开发系列130-进阶篇之TS、Class and ES5
本文讨论Typescript中的Class同ES5构造函数的对应关系,涉及TypeScript的诸多语法.构造函数.面向对象以及原型对象等相关知识点细节,本文只简单对比并不进行深入展开. TypeSc ...
- cmake 文档连接
简介 https://cmake.org/cmake/help 用作留存
- amr 数据格式
参考文章 大牛博客
- C++ 里面的极限数字
简介 我们写程序的时候经常遇到为某个值赋值为最大/最小值.但是有些数字很难记.这个库给你保存了你想要的极限值 参考链接 http://www.cplusplus.com/reference/limit ...
- SciTech-Management-Organizing:组织-RMM(Role Management Model):角色管理模型 的 民主共和 VS 层级结构明确的ARCI(责任分配矩阵)法则
Organizing:组织-RMM(Role Management Model):角色管理模型 根据"人群"与"社会"的"民主"和" ...
- Linux 受到开发者偏爱的 9 个理由!-九五小庞
Linux 在 GNU 通用公共许可证(GPL)的推动下开发和发布,是一个可以免费使用的开源操作系统.使用者只要遵守许可条款,就可以运行.研究.编辑和重新发布源代码. 我们日常所使用的大多数设备运行的 ...
- Unity开源搜索引擎
https://unitylist.com/
- MyEMS能源管理系统后台配置-能源费率管理
MyEMS开源能源管理系统适用于建筑.工厂.商场.医院.园区的电.水.气等能源数据采集.分析.报表,还有光伏.储能.充电桩.微电网.设备控制.故障诊断.工单管理.人工智能优化等可选功能. 本文介绍My ...