7
Qtプログラムを終了しようとすると、ウィンドウがなくなっても、バックグラウンドで動作し続けます。Qtプログラムを正しく閉じるには?
基本的には、メインウィンドウ(親を持たない)で赤い十字をクリックすると、正常に終了するようにする必要があります。クロスがクリックされた後
QApplication app(argc, argv);
//...
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
return app.exec();
または
QApplication app(argc, argv);
//...
app.setQuitOnLastWindowClosed(true);
return app.exec();
どちらも仕事は、プロセスがまだ、メモリに常駐:
は、私のようないくつかのことを試してみました。
次に、プログラムを正しく閉じるにはどうすればよいですか?
ありがとう、私はこれを試してみます。私は 'Qt :: WA_QuitOnClose'属性で何もしませんでしたが、' closeEvent() 'を再実装しようとしますが、検索中は何も読みませんでした。 – JBL
いいえ、closeEventを再実装する必要がない場合は、そうしないでください。デフォルトでは正常に動作するはずです。つまり、closeEventを再実装した場合、実装が正しくない可能性があります。 –
ああ、確かに。まあ、私はそれを再実装していない...だから、私はどうしたらいい?私は絶対に 'QApplication :: quit()'に依存する必要がありますか? – JBL