• 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt窗口 | 对话框 | 模态对话框

文章编号:Qt 学习笔记 / 51


文章目录

  • Qt窗口 | 对话框 | 模态对话框
  • 一、对话框的介绍
  • 二、对话框的分类
  • 1. 模态对话框
  • 2. 非模态对话框
  • 3. 混合属性对话框
  • 4. Qt内置对话框
  • 三、对话框的创建



一、对话框的介绍

对话框(dialog box)是计算机图形用户界面中常用的一种组件,用于和用户进行交互。它通常以弹出窗口的形式呈现,包含一个或多个文本区域和一个或多个按钮,用于显示信息、收集用户输入或进行确认操作。

对话框可以用于多种目的,例如展示警告、提示信息、错误消息,询问用户是否确认某个操作,让用户输入文本或选择选项等。

对话框是图形用户界面中用户与程序进行交互的重要方式之一,能够提供更加友好和直观的操作体验。

【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_qt


二、对话框的分类

1. 模态对话框

模态对话框是指在对话框打开时,用户只能与对话框进行交互,而不能与其他窗口进行交互,直到对话框关闭。模态对话框会阻塞程序的执行,直到用户对对话框进行操作并关闭对话框。

使用模态对话框可以在需要等待用户输入或确认的情况下,暂停程序的执行,确保用户在完成对话框里的操作之后才能继续执行程序的其他部分。

模态对话框通常用于需要用户进行确认、输入或者选择的场景,如消息对话框、输入对话框、选择对话框等。

2. 非模态对话框

非模态对话框是指在对话框打开时,用户可以同时与对话框和其他窗口进行交互,不会阻塞程序的执行。非模态对话框允许用户在对话框打开的同时执行其他操作,而不需要等待对话框关闭。

非模态对话框通常用于提供一些辅助功能或者信息展示,不需要用户立即进行确认或输入的场景。例如,可以使用非模态对话框来显示一些临时信息或者提供一些可选功能菜单。

3. 混合属性对话框

混合属性对话框(Mixed Attribute Dialog)是指同时具有模态和非模态特性的对话框。它能在对话框显示期间阻塞其所属窗口上的其他操作,但又可以供用户继续操作其他非对话框部件。

在Qt中,可以通过设置对话框的属性来实现混合属性。使用Qt的QDialog类,可以通过设置setModal属性为true来创建模态对话框,设置为false则创建非模态对话框。

4. Qt内置对话框

内置对话框

说明

QMessageBox

用于显示消息、警告、错误等信息的对话框。

QInputDialog

用于获取用户输入的对话框,可以用于获取文本、整数、浮点数等类型的输入。

QColorDialog

用于选择颜色的对话框。

QFileDialog

用于选择文件或目录的对话框。

QFontDialog

用于选择字体的对话框。

QProgressDialog

用于显示进度条的对话框。

QPrintDialog

用于打印文档的对话框。

QPageSetupDialog

用于设置页面布局的对话框。


三、对话框的创建

  1. 点击新建文件或项目
  2. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_笔记_02

  3. 选择项目Application,选择Qt Widgets Application
  4. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_学习_03

  5. 编辑名称,选择创建路径
  6. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_学习_04

  7. 选择qmake
  8. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_开发语言_05

  9. 选择QDialog类
  10. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_qt_06

  11. 以此点击下一步,完成Qt对话框项目的创建
  12. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_学习_07


  13. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_qt_08


  14. 【Qt 学习笔记】Qt窗口 | 对话框 | Qt对话框的分类及介绍_学习_09