介绍

模态对话框的特点

  • 对话框对象是置顶的、独立的、垄断的,会把用户的输入焦点抢走
  • 用户只能操作、响应这个对话框,完成必要的交互之后才能退出
  • 只能使用特定的接口才能退出模态页面

使用

什么情况下时候用Dialog / QDialog这样的模态对话框?

  1. 升级管理:成功、失败、进行中
  2. WiFi、蓝牙、4G、串口等配置管理界面
  3. 提示框(错误、警告、结果)
  4. 文件管理器也可以
  5. 自定义参数配置表
  6. 关于页面
  7. 密码设置
  8. 输入法键盘可以是一个模态对话框

什么时候不能用模态对话框?

  1. 主界面
  2. 生存周期为全局的页面不推荐使用模态
  3. 状态刷新控件
  4. 嵌套在父控件里边的控件

模态对话框使用要点?

  • 嵌入式触摸平台大都需要重新实现顶部标题栏样式:标题+长方形背景+退出按钮,因为自带样式实在太丑了
  • show和exec两个函数的样式不一致,特别是show的样式容易被父控件污染,模态属性下样式独立于父控件
  • 尽量避免使用static成员变量,但可以传递参数,如果你想使用把对话框对象当作局部变量来使用
  • 和Qt定制输入法有冲突,需要改变窗体属性来唤起输入法界面
  • 巧用reject(叉掉)和accept(确定),什么都不知道就close(对话框之外的点击)
  • 尽量用QML(Dialog)吧,对触摸友好一些

下里巴人
海纳百川,文以载道
hywing技术自留地
总访问 113701 次 | 本页访问 326