您的位置:首页 > 编程语言 > Qt开发

模态与非模态的区别

2016-01-03 15:58 417 查看

一、Dialog(对话框窗口)

Dialog窗口分为模态与非模态两种。所谓模态对话框,就是会阻塞同一应用程序中其它窗口的输入,与之相反的是非模态对话框。

设置模态对话框可以通过设置事件循环exec()来达到。

也有另外的解释: 所谓的模态Dialog就是将当前线程放入阻塞队列,所谓的非模态Dialog就是再创建一个线程专门用来显示对话框。

对于建立在堆上的Dialog,有两种释放方法,一种自己手动释放,另外一种通过setAttribute(Qt::Wa_DeleteOnClose)函数自动释放。

建立在栈上的Dialog会随着函数的调用结束而退出作用域,被析构,所以Dialog会闪现。

对话框是一个独立的窗口,需要有自己的事件循环,接受用户响应。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Qt