swdymr |
2017-08-11 15:52 |
show()显示的条件是什么?
最近碰到一个问题,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(); } |
|