文章目錄
- 1 錯誤呈現
- 2 原因
- 3 解決
1 錯誤呈現
原始代碼
connect(ui->SpinBox1, &QSpinBox::valueChanged,
ui->Slider1, &QSlider::setValue);
2 原因
QSpinBox類中有兩個同名信号,信号和槽函數對接的參數類型不比對
Q_SIGNALS:
void valueChanged(int);
void textChanged(const QString &);
#if QT_DEPRECATED_SINCE(5, 14)
QT_DEPRECATED_X("Use textChanged(QString) instead")
void valueChanged(const QString &);
#endif
3 解決
connect(ui->SpinBox1, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
ui->Slider1, &QSlider::setValue);
connect(ui->SpinBox1, SIGNAL(valueChanged(int)),
ui->Slider1, SLOT(setValue(int)));