Skip to content

Latest commit

 

History

History
80 lines (43 loc) · 2.95 KB

00-QDialog-对话框窗口基类.md

File metadata and controls

80 lines (43 loc) · 2.95 KB

QDialog

对话窗口的基类

对话窗口是顶级窗口,主要用于短期任务和与用户的简短通信

Qt官方文档

Qt 5.15官方文档-QDialog

Modal 模态与非模态

查看代码

模态对话框会阻塞用户与其他窗口交互

模态对话框又分为应用程序级别窗口级别

应用程序级模态对话框

  • 默认值。

  • 当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能操作后面的其他窗口。

  • 使用exec()方法显示应用程序级模态对话框。

窗口级模态对话框

  • 该模态仅仅阻塞与对话框相关联的窗口,但是依然允许用户与程序中其他窗口交互。

  • 应用场景:文件选择、是否同意……

  • 使用open()方法显示窗口级模态对话框。

非模态对话框

  • 不会阻塞与对话框关联的窗口以及与其他窗口进行交互。
  • 使用show()方法显示非模态对话框。
  • 应用场景:查找替换
  • 结合setModal(True)也可以实现模态对话框

设置方法

setSizeGripEnabled(bool)

isSizeGripEnabled() -> bool

设置是否启用窗口右下角控制窗口大小的size grip

Public Slots 槽函数

查看代码

槽函数 说明
accept() 隐藏模态对话框并将其result值设置为Accepted
done(int r) 关闭对话框并设置result值为r
exec() 将对话框设置为模态对话框(应用程序级别) ,阻塞后面的窗口直到用户关闭对话框
open() 将对话框作为模态对话框(窗口级别) 显示,立即返回
reject() 隐藏模态对话框并将其result值设置为Rejected

Signals 信号

查看代码

信号 说明 备注
accepted() 当用户选择接受或代码调用accept()/done()方法时发送此信号
finished(int result) 当对话框的result值被设置时发射此信号并传出result 用户操作或代码调用done()等方法均可触发
rejected() 当用户选择拒绝或代码调用reject()/done()方法时发送此信号