首页 > 编程语言 >QT5 C++槽函数的两种connect连接方式的区别,建议使用现代的连接方式

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

时间:2024-10-04 09:11:06浏览次数:6  
标签:QT5 方式 int splitterMoved 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,方式,int,splitterMoved,C++,connect,连接
From: https://www.cnblogs.com/ybmj/p/18446322

相关文章

  • 南沙C++信奥赛陈老师解一本通题 1270:【例9.14】混合背包
    ​ 【题目描述】一个旅行者有一个最多能装V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn。有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。求解将哪些物品装入背包可使这些物品的费用总......
  • C/C++ 判断计算机存储器字节序(端序)的几种方式
    字节序分为存储器字节序和网络字节序(通常采用大端),这里主要讨论的是主存储器字节序。主存是存储器中的一种,为什么只讨论主存?因为编写运行在现代主流操作系统上的程序,是没有I/O权限的。主存字节序所谓字节序就是字节排列的顺序,拿主存来说就是如果低字节存放在低地址处,就是低端......
  • C++ 对C的扩展有哪些
    C++对C的扩展主要体现在以下几个方面:语法增强:变量声明位置更灵活:在C语言中,函数内的所有局部变量必须在函数开头的块内进行声明。而C++放松了这一限制,可以在函数内的任何位置声明变量,只要在使用该变量之前进行声明即可。例如:voidsomeFunction(){//C++中可以在循环内......
  • C++之operator(附加返回引用的一些内容)
    在C++中,操作符重载允许你为自定义类型定义操作符的行为,使其可以像内置类型一样使用。通过定义operator函数,你可以指定操作符如何处理对象。基本语法ReturnTypeoperatorOp(Parameters){//实现}示例加法操作符重载#include<iostream>classPoint{public......
  • C++ 容器适配器
    除了顺序容器外,标准库还定义了三个顺序容器适配器:stack、queue和priority_queue。适配器(adaptor)是标准库中的一个通用概念****。容器、迭代器和函数都有适配器。本质上,一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。一个容器适配器接受一种已有的容器类型,......
  • C++ 额外的 string 操作
    string构造:▲《C++Primer》P321string裁剪:▲322修改string的操作:▲《C++Primer》P323string的搜索操作:▲《C++Primer》P325string的compare函数:▲《C++Primer》P327......
  • C++数组衰变机制
    inta[10]={};//下面两个式子等价int*p=a;int*p=&a[0];我们在讨论数组的时候经常看到这么一种说法,也就是说,数组名就是指向数组首元素的指针。但是上面这个过程产生了隐式转换,也就是数组衰变过程数组名!=指针数组就是数组,指针就是指针,不能将数组变量名认为是......
  • P11119 [ROI 2024 Day 2] 保持连接
    P11119[ROI2024Day2]保持连接设\(L_i,R_i\)分别表示覆盖了\(i\)的的线段中最靠左的左端点和最靠右的右端点,特殊的,如果没有覆盖,则\(L_i=R_i=i\)。显然所有\(R_i\)就刻画了一种局面。如果没有\(X\)的操作,设\(g_i\)表示从\(i\)出发到\([i,n]\)的重新连接的次数......
  • C++之size_t
    size_t是C++中的一个无符号整型,用于表示对象的大小或容器中的元素数量。它定义在<cstddef>头文件或<cstdlib>头文件中,通常用于数组索引和内存分配。其大小取决于平台(通常是32位或64位),因此在处理大数据时比int更安全。特点无符号类型:size_t只能表示非负数,适合表示......
  • C++之template
    C++模板是一种强大的特性,允许你编写通用的代码。它分为两种类型:函数模板和类模板。函数模板:可以定义一个函数,使用类型参数。例如:点击查看代码template<typenameT>Tadd(Ta,Tb){returna+b;}类模板:允许你定义一个类,使用类型参数。例如:点击查看代......