对话窗口的基类
对话窗口是顶级窗口,主要用于短期任务和与用户的简短通信
模态对话框会阻塞用户与其他窗口交互
模态对话框又分为应用程序级别和窗口级别
-
默认值。
-
当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能操作后面的其他窗口。
-
使用
exec()
方法显示应用程序级模态对话框。
-
该模态仅仅阻塞与对话框相关联的窗口,但是依然允许用户与程序中其他窗口交互。
-
应用场景:文件选择、是否同意……
-
使用
open()
方法显示窗口级模态对话框。
- 不会阻塞与对话框关联的窗口以及与其他窗口进行交互。
- 使用
show()
方法显示非模态对话框。 - 应用场景:查找替换
- 结合
setModal(True)
也可以实现模态对话框
setSizeGripEnabled(bool)
isSizeGripEnabled() -> bool
设置是否启用窗口右下角控制窗口大小的size grip
槽函数 | 说明 |
---|---|
accept() | 隐藏模态对话框并将其result值设置为Accepted |
done(int r) | 关闭对话框并设置result值为r |
exec() | 将对话框设置为模态对话框(应用程序级别) ,阻塞后面的窗口直到用户关闭对话框 |
open() | 将对话框作为模态对话框(窗口级别) 显示,立即返回 |
reject() | 隐藏模态对话框并将其result值设置为Rejected |
信号 | 说明 | 备注 |
---|---|---|
accepted() | 当用户选择接受或代码调用accept()/done()方法时发送此信号 | |
finished(int result) | 当对话框的result值被设置时发射此信号并传出result值 | 用户操作或代码调用done()等方法均可触发 |
rejected() | 当用户选择拒绝或代码调用reject()/done()方法时发送此信号 |