gpt4 book ai didi

c++ - 当我想退出应用程序时,如何在qt中自动调用析构函数?

转载 作者:太空狗 更新时间:2023-10-29 20:09:48 24 4
gpt4 key购买 nike

我的应用程序使用 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() 信号。

关于c++ - 当我想退出应用程序时,如何在qt中自动调用析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com