我一直在反對這個模式,但我終於放棄了並尋求幫助。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