<Linux+Qt>QDialog的模态与非模态的对话框

来源:互联网 发布:sql查询例子 编辑:程序博客网 时间:2024/04/30 05:29

  Qt创建的对话框类型,打开时有两种方式模态与非模态,这两种方式存在的区别如下:

  模态modal对话框是最普遍的对话框类型。模态对话框在没有消失前,用户不能与用一个应用程序的其它窗口交互,直到该对话框关闭。QDialog::exec()以模态方式显示对话框。

  非模态modeless对话框,当被打开时,用户可以选择与该对话框进行交互,也可以选择与应用程序的其它窗口进行交互。非模态如果创建栈对象,代码退出对话框对象的作用域后,该对话框自动销毁,用户可能来不及与对话框交互(创建的非指针变量是在栈空间)。因此,必须通过new创建在堆上。QDialog::show()默认以非模态方式显示对话框。目前了解的这么多,更多的需要在使用中总结。

原创粉丝点击