D:\QT\InverterCAN\CAN\mainwindow.cpp:731: error: cannot call member function 'virtual void QDialog::accept()' without object QDialog::accept(); ^
时间: 2024-02-17 13:01:46 浏览: 64
有问题的QT程序,请大家帮忙看一下吧
这个错误是因为你直接调用了QDialog的accept函数,而不是对应的QDialog对象的accept函数。
解决方法是将QDialog对象保存下来,然后通过该对象来调用accept函数。示例代码如下:
```
QDialog* dialog = new QDialog(this);
dialog->show();
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, [=]() {
if (/* 满足条件 */) {
dialog->accept(); // 通过dialog对象调用accept函数
}
});
timer->start(1000); // 每秒检查一次条件
```
在上面的代码中,我们将QDialog对象保存到dialog变量中,并通过该对象调用accept函数。这样就可以避免编译错误了。
阅读全文