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