我一直在反对这个模式,但我终于放弃了并寻求帮助。qt'x'在全屏模式下不能关闭应用程序
我的问题是,我的程序有一个settings.ini,我想在程序关闭时更新。我已经实现了这一点使用:
kegTrackerce.h
protected:
void closeEvent(QCloseEvent *event);
和
void KegTrackerCE::closeEvent(QCloseEvent *event)
{
saveSettings();
event->accept();
}
这节省了设置,当我经过文件并退出这是伟大的,但是当关闭该程序我点击右上角的“X”,窗口消失,但程序不退出(没有退出代码),再加上当我再次打开应用程序时,程序立即打开而不是加载。
我已经确定,当我包括下面的代码
KegTrackerCE::KegTrackerCE(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
//A heap of other stuff here
KegTrackerCE::showFullScreen();
}
当我注释掉showfullscreen,TA大新的“X”的作品,因为它应该设置文件进行适当更新,这只是发生,该程序从内存中清除,我得到0退出代码。
我真的不希望离开应用程序的最大化,而不是全屏,因为屏幕空间是有限的,因为它没有一个顶部的冗余栏。
感谢您的帮助球员,我已经试过的东西堆,我已经包括:
qApp->setQuitOnLastWindowClosed(true);
随着
void KegTrackerCE::lastWindowClosed(){
QApplication::quit();
}
但是,这并不做任何事情。
我相当肯定closeEvent()
没有被调用时,按下x时,事情是在全屏。
反正,请帮忙!!您的帮助将非常感谢!
谢谢你们
在KegTrackerCE :: closeEvent(QCloseEvent * event)中添加QMainWindow :: closeEvent(event) – 2013-02-13 09:40:20
hay thanks for你的回应。我已经尝试了隐藏和qmainwindow方法。我不知道为什么x按下时没有调用关闭事件,我该如何放置一个断点? – user2067103 2013-02-13 11:54:19
取决于您使用的IDE,我使用visual studio。你可以尝试而不是showFullScreen(),使用showMaximized() – 2013-02-13 12:19:44