2

これが何をしているのかはわかりませんが、メソッドを使用してアプリを突然閉じたいときだと思います(たとえば、SSLエラーの後にユーザーが続行しないことを選択した場合、アプリケーションは閉じます)exit(EXIT_FAILURE);.

アプリケーションを実行するたびに 1 つずつ、複数のシステム トレイ アイコンがあることに気付きました。

ここに画像の説明を入力

これがexit(EXIT_FAILURE);原因でしょうか?システム トレイ オブジェクトを適切に破棄する方法はありますか?

ありがとう

4

1 に答える 1

2

終了したい場合は、Qt に終了を依頼するのがおそらく最善です。

コードのどこからでも、qApp->quit() または QApplication::quit() を呼び出します。(qApp はグローバルです) exit() も使用できます。

#include <QApplication>アクセスするために。

exit ()に 'EXIT_FAILURE' を渡すことができます:

#include <QApplication>
QApplication::exit(EXIT_FAILURE)

Qt GUI を使用していない場合、QCoreApplication には同じ機能があります。

#include <QCoreApplication>
QCoreApplication::exit(EXIT_FAILURE)

exit() と quit() はすぐにプログラムを閉じませんが、application.exec() への元の呼び出しを終了することに注意してください。一部のプラットフォームでは、場合によっては exec() が返されず、他のプラットフォームでは返されます。

quit() と exit() の違いは、quit() はシグナルとスロットのスロットであり、quit() は単に exit(0) を呼び出すことです。

于 2013-03-06T18:38:57.720 に答える