c – 当我想退出应用程序时,如何在qt中自动调用析构函数?
发布时间:2020-12-16 10:05:37 所属栏目:百科 来源:网络整理
导读:我使用CAMA系列(指纹模块)进行应用.在该文档中,它表示建议在退出应用程序之前使用EnrollStandByMode命令.我创建了这个命令,并在我的应用程序中的QMainWindow上的析构函数中调用它. (这里没有问题).但是当我退出应用程序并再次运行它时,我的指纹会混淆并且响
我使用CAMA系列(指纹模块)进行应用.在该文档中,它表示建议在退出应用程序之前使用EnrollStandByMode命令.我创建了这个命令,并在我的应用程序中的QMainWindow上的析构函数中调用它. (这里没有问题).但是当我退出应用程序并再次运行它时,我的指纹会混淆并且响应命令不正确.在跟踪我的代码之后,我看到当应用程序以关闭按钮关闭时,析构函数不会运行.
这是我退出qapp的代码. void MainWindow::on_pushButton_clicked() { qDebug()?"QApplication::quit()"; QApplication::quit(); } 我想知道在退出应用程序之前如何调用析构函数? 解决方法
有几种方法可以在应用程序结束时调用某些东西.
如果您的代码不需要运行Qt事件循环,只需在main()结束时调用该函数 int main(int argc,char **argv) { QApplication app(argc,argv); // or QGuiApplication/QCoreApplication // application setup const int resultCode = app.exec(); // call your shutdown code here return resultCode; } 另一种选择是使用QAddPostRoutine()注册一个函数,该函数由Qt应用程序对象的析构函数调用. 如果需要Qt事件循环,请将函数连接到Qt应用程序对象的aboutToQuit()信号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |