大多数的GUI应用至少有一个对话框,大多数GUI应用有一个main window,而且这个窗口带有许多个dialog。
传统的对话框之一是由于它的“智能”,这里可以将它们分为:dump、standard、smart,
这依赖于能识别多少应用程序的数据。这些分类将会影响创新并初始化对话框。除了依据智能分类外,对话框还可以依据形态(modality)分类。一个应用形态的对话框,一旦被调用,
它将作为能与用户进行交互的应用程序一部分。直到用户关闭对话框,它们在应用的其他部分将无法使用。一个窗口(window)形态的对话框,和应用心态的对话框工作方式类似,除了它不能和它的上级窗口交互外,
这些上级窗口包括:父级窗口、父级的父级窗口、顶级父级窗口、父级的兄弟窗口。
除了应用程序只有一个顶级窗口,应用形态和窗口形态的应用没有实际的差别。
当引用一个没有指定窗口类型的模块(modal)窗口时,窗口将默认为window形态。与模式对话框对应的是无模式(modeless)对话框。当一个无模式对话框被调用时,用户可以和对话框进行交互,
而且在应用程序的其他部分同样可以与该对话框进行交互。这对于如何设计代码是有影响的,
因为用户可能会影响程序状态在主窗口和无模式对话框中,因此这对另一方有影响。写对话框的另一重要的方面是如何处理验证。无论在哪里,可能都要尝试去选择合适的widget并且
设置它们的属性用来避免去写任何验证代码。例如,如果需要一个整型,可以选择一个QSpinBox并用它的
setRange()方法来约束用户接受的数值范围。可以调用应用于单个widget“widget-level”的验证;
数据库程序可以调用“field-level”验证。有时候需要比widget级别更进一步的验证,特别是存在相互关联时。
例如:一个剧院的预定系统可能有两个下拉框,一个用于选择楼层、另一个用于选择作为排。
如果底楼座位排设置为A-R,第一层作为排设置为M-T,那么狠明显,只有一些楼层和座位牌组合是有效的。
由于这类事件,必须执行"form-level"的验证;数据库应用程序经常叫作"record-level"验证。当一个验证发生时,与之相关的另一个验证也会被激发。理想情况下,一点也不想用户能够进入无效的数据,
但是有时候这种预防是相当困难的。将验证分为两大类:
post-mortem:当用户进行确认时,在这一点上发生的验证是哪一个
preventative:用户操作编辑widget时发生的验证由于dialog有不同的”智能等级“、三种形态、多种验证类型,似乎有很多可能的组合可供选择。
事实上,使用的组合倾向于每次都使用相同的一个。例如,在大部分情况下,可能使用dump与standar对话框,
以及无模式的smart对话框。对于验证,正确的策略非常依赖于情况。

PyQt4对话框(dialog类型介绍)相关推荐

  1. Android 对话框(Dialog)大全 建立你自己的对话框

    Android 对话框(Dialog)大全 建立你自己的对话框 创建对话框 一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户 ...

  2. Web开发中的弹出对话框控件介绍

    Web开发中,目前由于Jquery的大行其道,因此很多弹出对话框,都用到了Jquery技术,反而原始的弹出对话框的方式较为少用了.不过基于JQuery的方式实现对话框窗口弹出,也有很多控件可以利用,由 ...

  3. Android 对话框(Dialog)大全

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如onCreateDialog(int),onPrepareDialog(int,Dialog),showDialog(int) ...

  4. Android对话框dialog大全(代码直接可用)

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  5. Android对话框dialog大全

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  6. android 对话框大全,Android 对话框(Dialog)大全

    Activities提供了一种方便管理的建立.保存.回复的对话框机制,例如onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(i ...

  7. 常见的对话框Dialog

    常见的对话框: 1.Toast 2.普通的对话框 3.列表对话框 4.单选对话框 5.多选对话框 6.自定义VIew对话框 7.进度条对话框(与进度相关的控件都可以到子线程更新UI) 8.是用了Ada ...

  8. Dialog使用介绍

    Dialog使用介绍 简单的对话框 含列表的对话框 自定义view样式 Dialog和Activity交互 Dialog展示 Dialog取消展示 Dialog展示WebView,监听后退键 本文Gi ...

  9. 智能合约语言Solidity 类型介绍

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 智能合约语言Solidity 类型介绍11 Solidity是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合 ...

最新文章

  1. 【Qt】qt打印文件名、函数名、行号
  2. 收音机磁棒天线4根接法_无线电科技基础:无声的海上GPS导航 天线接收的方向性...
  3. lora终端连接云服务器_腾讯云服务器上安装mysql,并用navicat连接
  4. abstract类_走进C# abstract,了解抽象类与接口的异同
  5. java转scala
  6. C++基础与深度解析第七章:深入IO
  7. 推荐系统之协同过滤算法分布式实现(附代码实现)
  8. 天猫精灵 AIoT 平台将研发门槛从1000万降至40万,缩减 3 倍研发周期
  9. PHP Predefined Interfaces 预定义接口
  10. Oracle、 Mysql 、 SQLserver 分页查询
  11. 关于人生的思考(暂时想不出更好的标题)
  12. java .entryset_Java中map的entrySet()方法返回的是什么内容啊?有点晕
  13. 网站类项目商业计划书(转)
  14. php机器人聊天对话框,PHP实现QQ聊天机器人
  15. 泰勒公式矩阵形式_泰勒公式的各种余项形式及其多种证明
  16. gamma矫正/gamma映射
  17. 不背公式快速计算IP地址掩码---游码法
  18. php时间相减_PHP 日期加减计算方法示例
  19. 国盛源投资量化买卖一定会挣钱吗?量化买卖怎样挣钱的?
  20. 什么是RTK基站?它的工作原理是什么

热门文章

  1. 一级域名注册如何申请?需要注意哪些事项?
  2. Leetcode 2261. K Divisible Elements Subarrays
  3. win10电脑部分软件不能连接网络,只有QQ和微信可以连接网络,浏览器不能上网
  4. 【文本标注】文本标注工具brat的使用
  5. 育网云盘签约北京市大兴区黄村镇第一中心小学云端租赁服务
  6. 注塑机计算机控制器,注塑机微机控制器,Microprocessor-based Controller for PIM,音标,读音,翻译,英文例句,英语词典...
  7. 信息安全系统所需要遵循的基本原则有哪些?
  8. 基于聚集诱导荧光探针细胞膜/细胞膜表面GABA受体荧光探针/上汞离子荧光探针的研究
  9. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  10. 星际争霸Ⅱ 神族操作记录