我一直在用头撞这个,所以我终于放弃并寻求帮助。
我的问题是我的程序有一个 settings.ini,我想在程序关闭时更新它。我使用以下方法实现了这一点:
kegTrackerce.h
protected:
void closeEvent(QCloseEvent *event);
和
void KegTrackerCE::closeEvent(QCloseEvent *event)
{
saveSettings();
event->accept();
}
当我浏览文件并退出时,这会保存设置并关闭程序,这很好,但是当我点击右上角的“X”时,窗口消失但程序不退出(没有退出代码)加上当我再次打开应用程序 exe,程序立即打开而不是加载。
我已经确定只有当我包含以下代码时才会发生这种情况
KegTrackerCE::KegTrackerCE(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
//A heap of other stuff here
KegTrackerCE::showFullScreen();
}
当我注释掉 showfullscreen,ta dah 时,“x”正常工作,设置文件被适当更新,程序从内存中清除,我得到一个 0 退出代码。
我真的不想让应用程序最大化而不是全屏,因为屏幕空间已经足够有限,顶部没有多余的栏没有意义。
感谢你们的帮助,我已经尝试了很多东西,我已经包括:
qApp->setQuitOnLastWindowClosed(true);
随着
void KegTrackerCE::lastWindowClosed (){
QApplication::quit();
}
但这无济于事。
我相当确定closeEvent()
当事物处于全屏状态时按下 x 时根本不会调用。
无论如何,请帮助!您的帮助将不胜感激!!
多谢你们