首页 > 其他分享 >Qt信号槽信号函数重载问题 error: C2664: “QMetaObject::Connection const”

Qt信号槽信号函数重载问题 error: C2664: “QMetaObject::Connection const”

时间:2023-07-14 17:14:18浏览次数:49  
标签:const Qt 重载 QOverload connect 信号 spinFontSize valueChanged 函数

//    connect(spinFontSize,&QSpinBox::valueChanged,this,&MainWindow::spinFontSize_valueChanged);//由于信号函数存在重载,发送者找不到正确信号函数。
    //改用A.Qt4带形参方式
//    connect(spinFontSize,SIGNAL(valueChanged(int)),this, SLOT(spinFontSize_valueChanged(int)));
    //改用B.QOverload(推荐方式,理由:QT5有语法编译检测,写法较简短)
    /*1.该函数返回一个指向重载函数的指针,其中的模板参数是重载函数参数类型的列表(list)。functionPointer是重载函数(成员函数)的指针:
     * qOverload<T>(functionPointer)//C++14风格
     * 2. QOverload<>::of(&Foo::overloadedFunction)
     *    QOverload<int, QString>::of(&Foo::overloadedFunction)//c++11风格
    */
    connect(spinFontSize,QOverload<int>::of(&QSpinBox::valueChanged),this,&MainWindow::spinFontSize_valueChanged);
    connect(comboFont,qOverload<const QString &>(&QFontComboBox::currentIndexChanged),this,&MainWindow::comboFont_currentIndexChanged);
//    connect(comboFont,QOverload<const QString&>::of(&QFontComboBox::currentIndexChanged),this,&MainWindow::comboFont_currentIndexChanged);

参考: error: C2664: “QMetaObject::Connection const”_Flying Bear的博客-CSDN博客 里面提到了使用qoverload方法,好用,解决了问题。

 Qt qOverload函数介绍_qoverload包括在哪个头文件_尚庆龙的博客-CSDN博客 里面提到了qoverload如何使用

标签:const,Qt,重载,QOverload,connect,信号,spinFontSize,valueChanged,函数
From: https://www.cnblogs.com/littleheadache/p/17554448.html

相关文章

  • 多通道cPCI接口值编码器信号采集
    可同时实现与4路 ENDAT2.2值码盘数据通讯,读取25位或29位等精度的码盘位置信息。l  支持ENDAT2.2标准l  通讯距离达30米以上l  支持PCI和CPCI接口l  双V68接口l  支持常用25位或29位码盘及其它标准ENDAT2.2码盘l  支持由板卡向码盘供电l  支持定制化修改FPGA......
  • QT从入门到实战完整版 P18
    #include"mainwindownoui.h"#include<QMenuBar>#include<QToolBar>#include<QDebug>#include<QPushButton>#include<QStatusBar>#include<QLabel>#include<QDockWidget>#include<QTextEdit>Mai......
  • QT从入门到实战完整版 P17
    #include"mainwindownoui.h"#include<QMenuBar>#include<QToolBar>#include<QDebug>#include<QPushButton>MainWindownoui::MainWindownoui(QWidget*parent):QMainWindow(parent){resize(600,400);//重置窗口大小Q......
  • Qt的另存文件操作
    文件对话框操作首先要使用QString保存文件对话框选择保存文件的地址(url)再使用文件操作打开文件进行操作QStringfileName=QFileDialog::getSaveFileName(this,"另存文件","./","ALL(*。*)");QFilefile(fileName);if(!file.open(QFile::writeOnly)){ return;}QS......
  • 注解 @RequiredArgsConstructor
    注解@RequiredArgsConstructor生成带有必需参数的构造函数。必需的参数是最终字段和具有约束的字段,例如@NonNull。完整的文档可在@lconstructor的项目lombok功能页面上找到。即使未列出,该注释也具有onConstructor参数。有关更多详细信息,请参见完整的文档。这个是基于lombo......
  • 基于Qt的自动贩卖机系统[2023-07-13]
    基于Qt的自动贩卖机系统[2023-07-13]某公司请你为其生产的自动贩卖机编写软件。这种无人值守自动贩卖机贩卖价值为ABC三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动贩卖机吐出商品,并且找给用户零钱。如果商品用完,或者无法找零,则给出用户一个提......
  • Qt翻译文本
    参考:https://blog.csdn.net/zzxfbdfhbdfhbdb/article/details/126749827xxx.ts翻译文件xxx.qm由xxx.ts发布生成,在程序中加载的文件1、生成xxx.ts文件在程序的.pro文件中添加TRANSLATIONS+=lang/hello.ts(生成.ts文件的位置)打开MinGW命令行工具运行 lupdateE:\He......
  • 现代C++(Modern C++)基本用法实践:六、constexpr编译时计算
    概述constexpr修饰的变量、函数、对象构造函数表示在编译时就可以确定。它经常用来计算一些编译期可以确定常数,和常数组成的表。比如编译时确定10000以内所有的素数,运行时用的时候直接查表。用法举例参考测试项目代码ModernCppTest/modrenc_constexpr.cpp主要内容:constexpr......
  • OpenGL在QT中的管理
    一、设计思路1.用例图管理 2.困惑点:(1)在程序编写中,为什么主程序的Shader可以关联到model类中的数据。解决:在加载数据方面,利用VBO、VAO等,已经将数据通过处理推到GPU上。二、代码实现GLHeader.h#pragmaonce#include<QOpenGLShaderProgram>#include......
  • APUE-signal-自定义信号
    [Linux定义信号的一些细节处理-自定义信号变量]https://blog.csdn.net/renlonggg/article/details/78309662#defineMY_SINGL_1(SIGRTMIN+1)/*信号函数,发送接受*/voidsignal_handler(intsignalnum){printf("Getsignal%d.\n",signalnum);}voidsigna......