这似乎是一个非常简单的问题,但我想在QMainWindow关闭时转储一些数据,所以我使用了以下代码:
QObject::connect(MainWindow.centralwidget, SIGNAL(destroyed()), this, SLOT(close()));
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有让它成为可能close().我做错了吗?
是不是中央人员应该被摧毁?
或者也许应用程序在close()被调用之前关闭?
那么做其他任何方式呢?
mos*_*osg 24
你最好在主MainWindow类中重新实现一个虚函数,如下所示:
class MainWindow : public QMainWindow {
Q_OBJECT;
public:
MainWindow();
protected:
void closeEvent(QCloseEvent *event);
}
Run Code Online (Sandbox Code Playgroud)
然后在源文件中声明:
void MainWindow::closeEvent(QCloseEvent *event) {
// do some data saves or something else
}
Run Code Online (Sandbox Code Playgroud)
祝好运.