D:\QT\InverterCAN\CAN\mainwindow.cpp:57: error: no matching function for call to 'MainWindow::connect(MainWindow*, <unresolved overloaded function type>, MainWindow*, <unresolved overloaded function type>)' connect(this,ui->spinBox_Debug1->editingFinished,this,spinBox_Debug1Slot); ^
时间: 2023-12-14 11:39:12 浏览: 236
mainwindow.cpp
这个错误提示是因为 `connect` 函数的第二个参数没有正确传递。`connect` 函数的第二个参数应该是一个函数指针,用来指定信号发出后,要执行的槽函数。在你的代码中,第二个参数是 `ui->spinBox_Debug1->editingFinished`,这个并不是函数指针。
可能是因为你想传递 `spinBox_Debug1Slot` 作为槽函数,但是语法写错了。正确的写法应该是:
```cpp
connect(ui->spinBox_Debug1, SIGNAL(editingFinished()), this, SLOT(spinBox_Debug1Slot()));
```
这里使用了 `SIGNAL` 宏和 `SLOT` 宏,将函数名转换成了一个字符串,这样就可以正确传递函数指针了。注意,槽函数的声明也需要加上 `slots` 关键字,例如:
```cpp
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void spinBox_Debug1Slot();
private:
Ui::MainWindow *ui;
};
```
阅读全文