MainWindows::MainWindow(QWidget *parent) :
QMainWindow(parent) , ui(new Ui::MainWindow) {
ui->setupUi(this);
some initialization code here
}
初期化に失敗した場合、アプリケーション全体を終了したいのですが、どうすればよいですか?
ありがとう。
どうexit()
ですか?
MainWindows::MainWindow(QWidget *parent) :
QMainWindow(parent) , ui(new Ui::MainWindow) {
ui->setupUi(this);
//some initialization code here
if (something_failed)
{
exit(1); // terminate process
}
}
これは私のために働く:
QMetaObject::invokeMethod(this, "close", Qt::QueuedConnection);
assert メソッドを使用して、条件を自動的にチェックするプログラムを終了できます。条件が false になると、終了した行を示してプログラムを終了します。構文は次のとおりです。
Q_ASSERT(条件);
初期化に失敗した場合、アプリケーション全体を終了したいのですが、どうすればよいですか?
コンストラクターから例外をスローします。デフォルトでは、未処理の例外はアプリケーション全体を終了します。QCoreApplication::quit を呼び出すこともできますが、例外をスローして別の場所でキャッチし、本当に問題が発生した場合は QCoreAPplication::quit を使用することをお勧めします。
たとえば、ファイルを書き込んでいる場合、単純に exit を呼び出すと、データが失われる可能性があります。