gpt4 book ai didi

c++ - 无模式 QDialog : closeEvent() not called when application exits?

转载 作者:行者123 更新时间:2023-11-30 02:10:08 27 4
gpt4 key购买 nike

我有一个无模式对话框,它覆盖了 closeEvent() 以保存其状态。如果我真的关闭对话框,这很好用。但是,如果我只是通过任何方式退出应用程序(这当然会导致我的对话框关闭),则永远不会调用 closeEvent()。

这是设计使然吗?这是一个Qt错误吗?是否需要在小部件上设置类似属性的东西,以告诉它在应用程序关闭时接收关闭事件?

我想我可以在对话框的析构函数中复制“保存状态”代码,但如果我不必这样做会更好。

感谢您的任何想法!

最佳答案

也许您可以使用一个棘手的解决方案:只需从 MainWindow 的 closeEvent 调用对话框的 closeEvent,将 QCloseEvent 对象作为参数传递。例如:

void QtMainWindowTest::closeEvent(QCloseEvent *ev)
{
_dlg ->closeEvent(ev);
}

关于c++ - 无模式 QDialog : closeEvent() not called when application exits?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4903678/

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