1. ホーム
  2. qt

[解決済み] Qtプログラムを終了する正しい方法は?

2022-05-05 11:20:37

質問

例えば、データファイルを読み込んでいて、ファイルの破損を発見し、ユーザーがこのアプリを終了するか、データファイルを再度起動する必要がある場合、Qt プログラムをどのように終了させればよいのでしょうか?

どうすればいい?

  1. コール exit(EXIT_FAILURE)
  2. コール QApplication::quit()
  3. コール QCoreApplication::quit()

また、(2)と(3)の違いは?

解決方法は?

QApplication は QCoreApplication から派生したもので、以下の機能を継承しています。 quit() のパブリックスロットである QCoreApplication という違いはありません。 QApplication::quit()QCoreApplication::quit() .

のドキュメントにあるように QCoreApplication::quit() それ return code 0 (成功) で終了するように指示します。 . ファイルの破損を発見したので終了したい場合、成功を意味するリターンコードゼロで終了したくないかもしれませんので、その場合は QCoreApplication::exit() なぜなら、慣習上エラーを示す0以外のreturnCodeを指定することができるからです。

注意すべきは イベントループが実行されていない場合、この関数(QCoreApplication::exit())は何もしません。 を呼び出す必要があります。 exit(EXIT_FAILURE) .