Qt error ------ no matching function for call to QObject::connect(QSpinBox*&, , QSlider*&, void (QAbstractSlider::*)(int))


 

connect(ui->spinBox_luminosity,&QSpinBox::valueChanged, ui->horizontalSlider_luminosity, &QSlider::setValue);

执行上面语句,提示如下错误。connect 采用的是 Qt 5 的语法,问题原因是函数 valueChanged 有两个形态:QSpinBox::valueChanged(int) 和 QSpinBox::valueChanged(QString),编译器不知道要使用哪个函数

no matching function for call to QObject::connect(QSpinBox*&, <unresolved overloaded function type>, QSlider*&, void (QAbstractSlider::*)(int))

 

解决方法

1、强制类型转换

connect(ui->spinBox_luminosity,static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), ui->horizontalSlider_luminosity, &QSlider::setValue);

2、使用 Qt 5 之前的语法

connect(ui->spinBox_luminosity, SIGNAL(valueChanged(int)), ui->horizontalSlider_luminosity, SLOT(setValue(int)));

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM