I:\QT\CustomControl\smallwidget.cpp:12: error: no matching function for call to 'SmallWidget::connect(QSpinBox*&, <unresolved overloaded function type>, QSlider*&, void (QAbstractSlider::*)(int))' connect(ui->spinBox,&QSpinBox::valueChanged,ui->horizontalSlider,&QSlider::setValue); ^
时间: 2023-12-25 12:03:21 浏览: 135
这个错误是因为 `connect` 函数的第二个参数没有正确的匹配。可以尝试使用 `static_cast` 将函数指针转换为正确的类型。例如:
```cpp
connect(ui->spinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), ui->horizontalSlider, &QSlider::setValue);
```
或者使用 Lambda 表达式来代替信号:
```cpp
connect(ui->spinBox, QOverload<int>::of(&QSpinBox::valueChanged), [=](int value) {
ui->horizontalSlider->setValue(value);
});
```
这样也可以实现相同的功能,并且更加清晰易懂。
阅读全文