// 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