私はしばらくこれに頭をぶつけていたので、ついにあきらめて助けを求めています。
私の問題は、プログラムが終了したときに更新したい 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 をコメント アウトすると、「x」が正常に機能し、設定ファイルが適切に更新され、プログラムがメモリからクリアされ、終了コード 0 が返されます。
画面スペースはそのままでは十分に制限されているため、アプリをフルスクリーンではなく最大化したままにしたくありません。上部に冗長なバーを配置しても意味がありません。
助けてくれてありがとう、私はたくさんのものを試しました、私は含めました:
qApp->setQuitOnLastWindowClosed(true);
一緒に
void KegTrackerCE::lastWindowClosed (){
QApplication::quit();
}
しかし、それは何もしません。
closeEvent()
物事が全画面表示されているときに x が押されたときに、 がまったく呼び出されないこと はかなり確信しています。
とにかく、助けてください!! あなたの助けは非常に高く評価されます!!
みんなありがとう