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


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

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

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

文章目录

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


一、对话框的介绍

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

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

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

在这里插入图片描述


二、对话框的分类

1. 模态对话框

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

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

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

2. 非模态对话框

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

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

3. 混合属性对话框

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

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

4. Qt内置对话框

内置对话框说明
QMessageBox用于显示消息、警告、错误等信息的对话框。
QInputDialog用于获取用户输入的对话框,可以用于获取文本、整数、浮点数等类型的输入。
QColorDialog用于选择颜色的对话框。
QFileDialog用于选择文件或目录的对话框。
QFontDialog用于选择字体的对话框。
QProgressDialog用于显示进度条的对话框。
QPrintDialog用于打印文档的对话框。
QPageSetupDialog用于设置页面布局的对话框。

三、对话框的创建

  1. 点击新建文件或项目
    在这里插入图片描述

  2. 选择项目Application,选择Qt Widgets Application
    在这里插入图片描述

  3. 编辑名称,选择创建路径
    在这里插入图片描述

  4. 选择qmake
    在这里插入图片描述

  5. 选择QDialog类
    在这里插入图片描述

  6. 以此点击下一步,完成Qt对话框项目的创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/672471.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

API开发秘籍:揭秘Swagger与Spring REST Docs的文档自动化神技

在这个数字化时代,如何让你的业务像外卖一样快速送达顾客手中?本文将带你走进Spring Boot的世界,学习如何利用RESTful API构建一个高效、直观的“外卖帝国”。从基础的REST架构风格,到Spring MVC的魔力,再到Swagger和S…

解决kettle界面右上角的connect消失——且使用admin登录不上Kettle资源库

一、问题描述 1.1、Kettle界面右上角的connect消失了 当我们配置Kettle界面的资源库(Other Repositories)内容后,Kettle界面右上角的connect消失了;如下图所示: 1.2、使用默认的账户【admin】和密码【admin】登录不上kettle资源库 当我们切换到我们配置的数据库使用超管账…

排序-希尔排序

介绍 希尔排序属于那种没有了解过的直接看代码一脸懵逼的, 所以同学们尽量不要直接看代码,仔细阅读本篇博客内容。 插入排序本来算是一个低效排序, 一次只可以挪动一个数据, 但是,它的强来了!&#xff01…

513.找树左下角的值

给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例 2: 思路: 深度最大的叶子结点一定是最后一行。 优先左边搜索,记录深度最大的叶子节点,此时就是树的最后一行最左边的值 代码: class Solution:def fi…

272 基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断

基于matlab的形态滤波和局域值分解(LMD)的齿轮故障诊断,GUI交互界面。通过形态滤波对一维信号进行降噪处理,并通过LMD局部均值分解提取故障信号,最后提取处故障频率。程序已调通,可直接运行。 272 形态滤波…

红外听力教学考试系统-红外语音听力广播在大学英语四六级听力考试中应用

红外听力教学考试系统-红外语音听力广播在大学英语四六级听力考试中的应用 由北京海特伟业科技有限公司任洪卓发布于2024年6月1日 红外语音听力广播(即红外听力教学考试系统)在英语四六级听力考试的应用正日益凸显出其重要性和优越性。在当前的高等教育…

排序-插入排序与选择排序

插入排序 基本思想 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 打扑克牌整理手牌用的就是插入排序的思想 代码实现 void InsertSort(int* a, int n) { assert(a); …

中间件模版引擎

文章目录 中间件1.自定义中间件1)全局2)局部中间件 2.内置中间件(静态资源目录) Art-template1.模板语法1)输出2)原文输出3)条件判断4)循环5)子模版6)模版继承7&#xff…

2024四川三支一扶“考生信息表”照着填❗

2024四川三支一扶“考生信息表”照着填❗ ☑️四川三支一扶开始报名,大家要按照提示如实、准确、完整填写《高校毕业生“三支一扶”计划招募考生信息表》哦~ ☑️不知道怎么填写的宝子们,可以参考图1。 ☑️毕业证书编号如实填写,若是应届生&…

vue3 todolist 简单例子

vue3 简单的TodList 地址: https://gitee.com/cheng_yong_xu/vue3-composition-api-todo-app-my 效果 step-1 初始化项项目 我们不采用vue cli 搭建项目 直接将上图文件夹,复制到vscode编辑器,清空App.vue的内容 安装包 # 安装包 npm…

JVM双亲委派模型

在之前的JVM类加载器篇中说过,各个类加载器都有自己加载的范围,比如引导类加载器只加载Java核心库中的class如String,那如果用户自己建一个包名和类名与String相同的类,会不会被引导类加载器加载。可以通过如下代码测试&#xff0…

每周统计-20240531

用于测试程序的稳定性: 龙虎榜: 成交额: 封成比: 收盘前放量: 开盘抢筹: 封单额:

堆排序-java

这次主要讲了堆排序和堆的基本构造,下一期会详细讲述堆的各种基本操作。 文章目录 前言 一、堆排序 1.题目描述 2.堆 二、算法思路 1.堆的存储 2. 结点下移down 3.结点上移up 4.堆的基本操作 5.堆的初始化 三、代码如下 1.代码如下: 2.读入数据&#xff…

24年护网工具,今年想参加护网的同学要会用

24年护网工具集 吉祥学安全知识星球🔗http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247483727&idx1&sndb05d8c1115a4539716eddd9fde4e5c9&chksmc0e47813f793f105017fb8551c9b996dc7782987e19efb166ab665f44ca6d900210e6c4c0281&scene21…

2024拼多多 最新理论+实战干货,从入门到精通全链路多角度学习-7节课

基于最新规则理论结合实际的干货 课程内容: 01 2024年多多防比价新规则破局理论课与实操课.mp4 02 24年多多强付费第二节课基础内功.mp4 03 24年多多强付费第三节课直通车实操 .mp4 04 24年多多强付费第一节课市场定价格段,mp4 05 24年多多自然流第一节课市场…

Java+SVNCloud+Mysql课程设计

文章目录 1、主要内容2、所需准备3、与sql访问的中间类:SqlMessage4、窗口界面5、main方法 1、主要内容 课程设计,主要通过Javas wing创建窗口,jdbc连接云端mysql数据库进行基本操作,支持随机生成数据并用动态展示数据结果。 先…

计算机毕业设计 | springboot+vue会议室管理系统(附源码)

1,绪论 1.1 项目背景 随着企业规模的不断扩大,会议室管理愈加复杂。传统的手工预约会议室的方式已经无法满足现代企业的需求,因此,开发一套会议室系统方案变得尤为重要。会议室系统可以实现会议室的在线预约、会议室资源的有效利…

[SQL-SERVER:数据库安全及维护]:MSSM工具进行附加还原备份等操作

文章目录 目的介绍一、完整备份与还原(20分)1.将教师提供的TeachingDB数据库附加到个人使用的服务器上,并更名为TeachingDB_***(***为个人姓名)1.1 操作流程:将docker容器sqlserver数据库已有的mdf镜像文件…

C语言之旅:探索单链表

目录 一、前言 二、实现链表的功能: 打印 创建节点 尾插 尾删 头插 头删 查找 在指定位置之前插入数据 指定位置删除 在指定位置之后插入数据 打印 销毁 三、全部源码: 四、结语 一、前言 链表是一个强大且基础的数据结构。对于很多初…

Mac连接虚拟机(Linux系统)

1.确定虚拟机的IP地址 ifconfig //终端命令,查询ip地址 sudo apt install net-tools 安装完成后再次执行 ifconfig: 2.安装SSH(加密远程登录协议) (1).安装OpenSSH服务器软件包: sudo apt-get install openssh-ser…