天天看点

Qt模态与非模态

模态对话框就是指在子对话框弹出时,焦点被强行集中于该子对话框,子对话框不关闭,用户将无法操作其他的窗口。非模态相反,用户仍然可以操作其他的窗口,包括该子对话框的父对话框。

如果从线程角度来讲,模态对话框实际上是线程阻塞的,也就是子对话框是一个线程,但是在创建这个子线程之后,父窗口就阻塞了;模态对话框则不是阻塞型的线程模型,父子线程可以并行运行。

setWindowModality 函数的参数3个可取值!! NonModal、WindowModal、ApplicationModal 分别对应

默认情况下的

    QDialog::show()

    QDialog::open()

    QDialog::exec()

http://blog.csdn.net/dbzhang800/article/details/6300416 前半部分可供参考。

继续阅读