最近碰到一个问题,Dialog使用show()函数一直不显示出来,例如如下代码,在循环打印i的过程中一直显示不出来,直到循环结束,回到主函数碰到exec才显示出来。但使用md->exec()就能显示出来。有哪位大神能讲解下其中的原因吗?窗口必须遇到exec才能显示出来?谢谢。
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
MyDialog* md = new MyDialog();
md->setModal(true);
md->show();
int i = 0;
while(i < 10000000)
{
qDebug()<<i++;
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}