我正在使用Qt構建一個UI,我需要在主應用程序窗口之前出現一個對話窗口,以便用戶可以選擇一些文件來加載ans的東西像那樣。 我有什麼是一個相當簡單的主: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實例。詮釋查看 - > showView()方法,這是我的本錢:
void QtView::showView()
{
this->_configDialog->exec();
this->_mainAppWindow->show();
}
它工作正常,在對話框打開,當用戶點擊OK,出現EXEC回報和主窗口。問題是,當我離開主窗口時,我得到了一個殭屍進程,儘管所有的窗口都關閉了,但應用程序似乎仍然掛起,我從來沒有得到主要返回之前我打印出來的「退出」。 我不確定我做錯了什麼,但即使我點擊十字關閉對話框,主窗口打開,並且一旦關閉,整個事物就會掛在那裏,我得到相同的resutl。
如果有人有任何建議,那很酷。 謝謝。
它也不工作。如果我使用這個 - > _ configDialog-> show(),但是當我使用這個 - > _ configDialog-> exe(); 即使我在對話框上設置了父項,也沒有區別。應用程序終止的唯一方法是在我的主窗口上調用close()方法。 – dotminic 2010-11-30 23:36:11