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

news2024/12/23 15:44:35

  • 博客主页: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对话框项目的创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【成品设计】基于STM32的智能厨房环境监测与报警系统

《基于STM32的智能厨房环境监测与报警系统》 所需器件: stm32f103c8t6烟雾气体传感器可燃性气体传感器温度传感器语音播放器模块和LED灯进行语音声光播报WIFI模块进行远程播报OLED 屏幕来显示火灾信息 整体功能: 通过温湿度传感器、烟雾气体传感器、…

数据可视化之常用图表热力图

1.什么是热力图? 热力图,是一种通过对色块着色来显示数据的统计图表。 绘图时,需指定颜色映射的规则。 例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,…

搭建Vulnhub靶机网络问题(获取不到IP)

搭建好靶场后,在攻击机运行arp-scan -l无法发现靶机IP。 这时候去看下靶机网络有没有问题。 重新启动客户机,一直按e进入安全模式(要是直接开机了就先按shift进入grub界面,再按e)找到ro,将ro改为rw signie…

SELinux深度解析:安全增强型Linux的探索与应用(下)

🐇明明跟你说过:个人主页 🏅个人专栏:《Linux :从菜鸟到飞鸟的逆袭》🏅 🔖行路有良友,便是天堂🔖 目录 一、SELinux的工作机制 1、SELinux的三种状态:Pe…

SpringSecurity6从入门到实战之默认用户的生成流程

SpringSecurity6从入门到实战之默认用户的生成流程 这次还是如标题所示,上一章我们的登录页面已经知道是如何生成了.那么,我们通过表单登录的user用户以及密码SpringSecurity是如何进行生成的呢? 默认用户生成 让我们把登录流程重新拉回到读取/META-INF/spring/ .imports文件 …

Python用于简化数据操作和分析工作库之DaPy使用详解

概要 在数据科学和机器学习领域,处理和分析数据是关键的一步。Python 的 DaPy 库提供了一组强大的工具,用于简化数据操作和分析工作。DaPy 旨在提供高效且直观的 API,使得数据处理变得更加便捷。本文将详细介绍 DaPy 库,包括其安装方法、主要特性、基本和高级功能,以及实…

Python3 迭代器和生成器

前言 本文主要介绍Python中的迭代器和生成器,主要内容包括 迭代器概述、生成器简介。 文章目录 前言一、迭代器简介二、生成器简介 一、迭代器简介 在 Python 中,迭代器(iterator)是一个实现了迭代器协议(Iterator Protocol)的…

【JavaEE进阶】——MyBatis操作数据库 (#{}与${} 以及 动态SQL)

目录 🚩#{}和${} 🎈#{} 和 ${}区别 🎈${}使用场景 📝排序功能 📝like 查询 🚩数据库连接池 🎈数据库连接池使⽤ 🚩MySQL开发企业规范 🚩动态sql &#x1f388…

【Python】 探索Python中的目录遍历:获取当前目录下所有子目录列表

基本原理 在Python中,处理文件和目录是一项常见的任务,尤其是在进行文件管理、数据备份或自动化脚本时。Python的os模块提供了丰富的功能来与操作系统进行交互,包括文件和目录的遍历。要获取当前目录下的所有子目录,我们可以使用…

3年前端期望18K,云账户社招一面

一二面会有手写代码测试,一面或者二面当中,有一面必须到现场来的,对工作环境有一个直观的感受,前端二面取消了 一面(通过) 1、自我介绍、项目经历 2、怎么跟 xx模板的开发同学去沟通的呢?此处…

C++标准模板(STL)- 迭代器库-迭代器适配器- 逆序遍历的迭代器适配器 (二)

迭代器库-迭代器原语 迭代器库提供了五种迭代器的定义,同时还提供了迭代器特征、适配器及相关的工具函数。 迭代器分类 迭代器共有五 (C17 前)六 (C17 起)种:遗留输入迭代器 (LegacyInputIterator) 、遗留输出迭代器 (LegacyOutputIterator) 、遗留向前…

基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道

作者:尹航 在前文《基于阿里云服务网格流量泳道的全链路流量管理(一):严格模式流量泳道》、《基于阿里云服务网格流量泳道的全链路流量管理(二):宽松模式流量泳道》中,我们介绍了流…

【Python系列】Python 方法变量参数详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

windows RNDIS开发-概念

远程 NDIS (RNDIS) 是一种独立于总线的类,适用于动态 即插即用 (PnP) 总线(例如 USB、1394、蓝牙和 InfiniBand)上的以太网 (802.3) 网络设备。 远程 NDIS 通过抽象控制和数据通道在主计算机与远程 NDIS 设备之间定义与总线无关的消息协议。 …

实践记录-docker-step6-7/10-参考docker官网步骤操作记录-绑定挂载-多容器

参考来源: (应用的容器化实践)docker官方入门指南 https://docs.docker.com/get-started/ 本指南包含有关如何开始使用 Docker 的分步说明。本指南介绍如何: 将映像作为容器生成并运行。 使用 Docker Hub 共享映像。 使用带有数据…

Zero++原理

1. Weights在AllGather中的量化;(计算时间换网络通信延迟) Zero3的Weights分片在各个rank中;在forward和backward中,用到整层weights时都要所有rank进行AllGather; 使用FP16-->INT8量化,减少…

win+mac通用的SpringBoot+H2数据库集成过程。

有小部分大学的小部分老师多毛病,喜欢用些晦涩难搞的数据库来折腾学生,我不理解,但大受震撼。按我的理解,这种数据库看着好像本地快速测试代码很舒服,但依赖和数据库限制的很死板,对不上就是用不了&#xf…

Vitis HLS 学习笔记--static RAM/ROM

目录 1. 简介 2. static RAM 2.1 无 reset 的情形 2.2 含 reset 的情形 3. static ROM 4. 总结 1. 简介 本文仍然是讨论阵列的初始化与复位问题,区别于《Vitis HLS 学习笔记--global_array_RAM初始化及复位-CSDN博客》,本文讨论的对象是静态阵列&…

微服务第一轮

课程文档 目录 一、业务流程 1、登录 Controller中的接口: Service中的实现impl: Service中的实现impl所继承的接口IService(各种方法): VO: DTO: 2、搜索商品 ​Controller中的接口&a…

期望24K,商汤科技golang开发 社招一二三 + hr 面

商汤科技对数据库和中间件相关的东西问的比其他的大厂要少很多,可能他们更多是和算法相关,没有什么高并发的场景。总体感觉对技术的要求不是特别高。当时问了他们主管,我面试的部门的工作是主要去实现他们算法部门研究的算法,感觉…