1.通过对话框的智能程度,可根据应用程序写入对话框中数据的多少将其划分为:
2.模态划分:
根据显示方式可以分为模态和非模态两种用法。
模态对话框:
一旦调用该对话框,它就会成为应用程序唯一能够与用户进行交互的部件,它会阻止其父窗口,父窗口的父窗口并直至顶层窗口等的交互,当然也会阻止与父窗口同层各兄弟窗口的交互
我们不需要“实时”或者交互式地更新画笔的属性,所以模态对话框足够。
用法:
d.exec_():模态化显示 d。 意味着,对话框的父窗口以及其兄弟窗口都会被阻塞,直到这个对话框关闭。
非模态对话框
如果用户可以重复更改数字格式并能马上看到修改效果,那么就无须不停的调用,接收对话框中数字格式修改所给出的提示,从而变得非常方便。使用非模态对话框。用户可以与该对话框以及应用程序的其他部分交互。
非模态的实时对话框
用法:
d.show()非模态显示 d。
语法 | 说明 |
---|---|
d.accept() | 关闭(隐藏)d,停止其事件循环,exec_()会返回True值。如果设置了Qt.WA_DeleteOnClose(),会直接删除该对话框 |
d.reject() | 关闭(隐藏)d,停止其事件循环,exec_()会返回False。 |
d.done(i) | 关闭(隐藏)d,停止其事件循环,exec_()会返回int i 值。 |
d.exec_() | 模态化显示 d,阻塞进程(后面的代码不执行)直至关闭它 |
d.show() | 非模态化显示 d;从QWidget继承而来 |
d.setSizeGrip-Enabled(b) | 根据bool b的值来决定显示还是隐藏 d的尺寸大小拖拽符。 |