Qtを使用してUIをビルドしています。メインアプリケーションウィンドウの前にダイアログウィンドウを表示する必要があります。そうですね。私が持っているもの はかなり単純メインです:終了時にQtアプリケーションがハングアップする(QDialog exec後)
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
IView *view = new QtView();
view->showView();
int rc = a.exec();
std::cout << "exit" << std::endl;
return rc;
}
QtViewクラスがたIViewインタフェースの具体的な実装です。 メインウィンドウインスタンスとQDialogインスタンスもあります。それが正常に動作します
void QtView::showView()
{
this->_configDialog->exec();
this->_mainAppWindow->show();
}
、ダイアログが開き、ユーザーが[OK]をクリックすると、execが戻り、メインウィンドウが表示されます。これは私が持っているものである[表示] - > SHOWVIEW()メソッドをint型。問題は、メインウィンドウを終了するとゾンビプロセスが発生し、すべてのウィンドウが閉じているにも関わらずアプリがハングアップしているように見えることです。 私は何が間違っているのか分かりませんが、ダイアログを閉じるために十字をクリックしても、メインウィンドウが開き、一度閉じると全体がちょうどそこにハングアップしても同じresutlが得られます。
誰かがアドバイスをいただければ、それはクールです。おかげさまで
どちらも機能しません。私がこの - > _ configDialog - > show()を使用する場合、アプリケーションを終了しますが、これを使用しないとき - > _ configDialog - > exe(); ダイアログに親を設定しても、違いはありません。アプリケーションが終了する唯一の方法は、メインウィンドウでclose()メソッドが呼び出された場合です。 – dotminic