Skip to the content.

示例3 模态与非模态对话框

本示例演示对话框的模态与非模态设置。

1 模态对话框

1.1 定义

阻断了用户输入, 当一个模态对话框打开时, 用户只能与该对话框交互, 而其他界面对象收不到输入信息

1.2 举例

关机时弹出的对话框, 会禁止用户对其他窗口进行操作, 必须取消这个对话框才能对其他对话框进行操作

2 非模态对话框

2.1 定义

类似普通的windows窗口, 在非模态对话框打开时, 用户可同时打开其他窗口, 操作完毕后, 又可用鼠标或者其他方式激活该窗口

2.2 举例

操作系统中不同窗口的切换

3 对话框的模态与非模态设置

对话框的模态与非模态设置

以上两行语句分别产生了两个窗口

分别产生了两个窗口

注意:这里第一行语句之所以会产生窗口是因为MyWidget类的构造函数中定义了创建对话框

分别产生了两个窗口

3.1 模态与非模态对话框的设置方法

通过setModal设置模态/非模态:

模态与非模态对话框的设置方法

设置结果为:

设置结果

注意:这里由于设置了dialog为模态对话框, 则关闭dialog之前不能与widget交互!!!

本示例代码下载链接

代码下载链接