【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对话框项目的创建
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


在这里插入图片描述

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

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

相关文章

Java反序列化漏洞与URLDNS利用链分析

前言 前面学习过 Java 反序列化漏洞的部分知识,总结过几篇文章: 文章发布日期内容概括《渗透测试-JBoss 5.x/6.x反序列化漏洞》2020-07-08JBoss 反序列化漏洞 CVE-2017-12149 的简单复现,使用了 ysoserial 和 CC5 链,未分析漏洞…

easy-captcha生成验证码

引入依赖 <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>…

[力扣题解] 404. 左叶子之和

题目&#xff1a;404. 左叶子之和 思路 前序遍历&#xff08;随便怎么遍历&#xff09;&#xff1b; 在遇到左叶子时处理数据&#xff0c;选择中、左、右里面的左的时候再判断这个节点是不是叶子&#xff1b; 代码 /*** Definition for a binary tree node.* struct TreeNo…

Unity2D游戏开发-玩家控制

在Unity2D游戏开发中&#xff0c;玩家控制是游戏互动性的核心。本文将解析一个典型的Unity2D玩家控制脚本&#xff0c;探讨如何实现流畅的玩家移动、跳跃和动画切换。以下是一个Unity脚本示例&#xff0c;实现了这些基础功能。 1. 脚本结构 using System.Collections; using …

机械设计手册第一册:公差

形位公差的标注&#xff1a; 形位公差框格中&#xff0c;不仅要表达形位公差的特征项目、基准代号和其他符号&#xff0c;还要正确给出公差带的大小、形状等内容。 1.形位公差框格&#xff1a; 形位公差框格由两个框格或多个格框组成&#xff0c;框格中的主要内容从左到右按…

(2024,扩散,去噪调度,维度,误差,收敛速度)适应基于分数的扩散模型中的未知低维结构

Adapting to Unknown Low-Dimensional Structures in Score-Based Diffusion Models 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 引言 1.1 扩散模型 1.2 现有结果的不…

服务器硬件基础知识学习

服务器硬件基础知识涵盖了从CPU到存储&#xff0c;再到网络连接和总线技术等关键组件。 1. 处理器 - 两大流派&#xff1a;我们常用的处理器主要分为Intel和AMD两大阵营。Intel的Xeon系列和AMD的EPYC系列都是专为服务器设计的&#xff0c;它们支持多核处理&#xff0c;能够应对…

语言模型的校准技术:增强概率评估

​ 使用 DALLE-3 模型生成的图像 目录 一、说明 二、为什么校准对 LLM 模型至关重要 三、校准 LLM 概率的挑战 四、LLM 的高级校准方法 4.1 语言置信度 4.2 增强语言自信的先进技术 4.3 基于自一致性的置信度 4.4 基于 Logit 的方法 五、代理模型或微调方法 5.1 使用代…

集成算法实验与分析(软投票与硬投票)

概述 目的&#xff1a;让机器学习效果更好&#xff0c;单个不行&#xff0c;集成多个 集成算法 Bagging&#xff1a;训练多个分类器取平均 f ( x ) 1 / M ∑ m 1 M f m ( x ) f(x)1/M\sum^M_{m1}{f_m(x)} f(x)1/M∑m1M​fm​(x) Boosting&#xff1a;从弱学习器开始加强&am…

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

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

C语言自定义类型

在C语言中&#xff0c;自定义类型可以通过typedef关键字来实现。typedef用于为现有的数据类型创建新的名称&#xff08;别名&#xff09;&#xff0c;使代码更清晰易读。自定义类型的一个常见用途是简化复杂的类型声明&#xff0c;特别是在使用结构体、枚举和函数指针时。 使用…

52、有边数限制的最短路

有边数限制的最短路 题目描述 给定一个n个点m条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边权可能为负数。 请你求出从1号点到n号点的最多经过k条边的最短距离&#xff0c;如果无法从1号点走到n号点&#xff0c;输出impossible。 注意&#xff1a;图中可…

查看 WSL2 (Windows Subsystem for Linux 2) IP 地址

查看 WSL2 [Windows Subsystem for Linux 2] IP 地址 1. ipconfig2. ping $(hostname).local3. cat /etc/resolv.conf4. ip route show5. ip addrReferences 1. ipconfig Windows 系统上与 WSL2 (Windows Subsystem for Linux 2) 接口的地址 172.31.32.1。 Microsoft Windows…

米尔MYC-Y6ULX-V2开发板测评记录

文章目录 1、板子上手体验2、板载硬件3、系统信息4、 驱动测试5、编译linux三大件7、摄像头测试9、总结 1、板子上手体验 首先非常感谢芯查查给了这样一个机会来测评这样一款性能十分强大的开发板&#xff0c;我拿到手的是MYC-Y6ULX-V2核心板及开发板&#xff0c;这块板子具有…

STM32HAL-最简单的长、短、多击按键框架

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 本文章使用最简单的写法实现长、短、多击按键框架&#xff0c;非常适合移植各类型单片机&#xff0c;特别是资源少的芯片上。接下来将在stm32单片机上实现&#xff0c;只需占用1个定时…

动态控制eBPF程序加载:检查 Tracepoint、Kprobe是否存在

前言 在 eBPF 程序开发中&#xff0c;确保程序能够在各种不同的系统配置中兼容运行是至关重要的。本文将详细介绍一个方案&#xff0c;通过动态检查Tracepoint、Kprobe是否存在&#xff0c;并结合libbpf的API接口控制 eBPF 程序的加载。这种方法不仅可以提升程序的灵活性&…

jwt 实现用户登录完整java

登录校验逻辑 用户登录的校验逻辑分为三个主要步骤&#xff0c;分别是校验验证码&#xff0c;校验用户状态和校验密码&#xff0c;具体逻辑如下 前端发送username、password、captchaKey、captchaCode请求登录。判断captchaCode是否为空&#xff0c;若为空&#xff0c;则直接…

AWS联网和内容分发服务

概况 VPC Amazon Virtual Private Cloud (Amazon VPC) 让您能够全面地控制自己的虚拟网络环境&#xff0c;包括资源放置、连接性和安全性。首先在 AWS 服务控制台中设置 VPC。然后&#xff0c;向其中添加资源&#xff0c;例如 Amazon Elastic Compute Cloud (EC2) 和 Amazon …

数据分析必备:一步步教你如何用Pandas做数据分析(15)

1、Pandas 数据丢失 Pandas 数据丢失的操作实例 在现实生活中&#xff0c;数据丢失始终是一个问题。机器学习和数据挖掘等领域在模型预测的准确性方面面临严重问题&#xff0c;因为缺少值会导致数据质量较差。在这些领域中&#xff0c;缺失值处理是使模型更准确和有效的主要重…

定个小目标之每天刷LeetCode热题(7)

今天这道题是道简单题&#xff0c;使用双指针进行迭代即可&#xff0c;画了下草图如下 代码如下 class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode p head, q head.next, temp null;while (q ! nu…