【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建

news2025/1/10 16:38:44

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

Qt窗口 | 对话框 | 创建模态及非模态对话框

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

文章目录

  • Qt窗口 | 对话框 | 创建模态及非模态对话框
    • 一、模态对话框
      • 1. 对话框简介
      • 2. 创建模态对话框
    • 二、非模态对话框
      • 1. 对话框简介
      • 2. 创建模态对话框
    • 三、两者的使用场景
      • 1. 模态对话框
      • 2. 非模态对话框


一、模态对话框

1. 对话框简介

模态对话框是一种在图形用户界面中常见的弹出窗口,它与其他窗口交互时会将其他窗口锁定,只有在关闭模态对话框之后才能再次操作其他窗口。模态对话框通常用于提示用户进行必要的操作或提供额外的选项,以便用户在继续执行其他操作之前确认或选择。在模态对话框中,用户通常需要完成或取消对话框中的任务或操作,才能继续与应用程序进行交互。

在这里插入图片描述

2. 创建模态对话框

模态对话框,显示后⽆法与父窗口进行交互,是⼀种阻塞式的对话框。使用QDialog::exec()函数调用。参考文章【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

void MainWindow::handle()
{
    //创建一个对话框
    Dialog * dialog = new Dialog(this);
    //设置窗口的大小
    dialog->resize(300,180);
    //设置窗口关闭
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    //显示窗口
    dialog->exec();
}

在这里插入图片描述


二、非模态对话框

1. 对话框简介

非模态对话框是一种不需要阻塞用户操作的对话框。与模态对话框不同,用户可以在非模态对话框打开的同时继续对程序进行操作。这种对话框通常用于显示辅助信息、提供额外选项、展示进度等场景。非模态对话框的特点:不阻塞用户操作、可以并行打开多个对话框、弹出方式不影响主界面

2. 创建模态对话框

非模态对话框显示后独立存在,可以同时与父窗口进行交互,是⼀种非阻塞式对话框,使用
QDialog::show()函数调用。参考文章【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

void MainWindow::handle()
{
    //创建一个对话框
    Dialog * dialog = new Dialog(this);
    //设置窗口的大小
    dialog->resize(300,180);
    //设置窗口关闭
    dialog->setAttribute(Qt::WA_DeleteOnClose);
    //显示窗口
    dialog->show();
}

在这里插入图片描述


三、两者的使用场景

1. 模态对话框

模态对话框的使用场景包括:

  • 提示用户确认操作:模态对话框可以用于提示用户确认是否执行某个操作,例如删除文件、关闭窗口等。
  • 获取用户输入:模态对话框可以用于获取用户输入,例如填写表单、输入密码等。
  • 显示提示信息:模态对话框可以用于显示提示信息或警告信息,例如错误提示、操作成功提示等。
  • 进行选择或设置:模态对话框可以用于用户进行选择或设置,例如选择文件、选择日期、设置选项等。
  • 显示详细信息:模态对话框可以用于显示详细信息或查看详细内容,例如查看文件属性、查看订单详情等。

2. 非模态对话框

非模态对话框的使用场景包括:

  • 显示辅助信息:例如提示用户某个操作的结果或提醒用户注意事项。
  • 提供额外选项:例如在程序主界面上方打开一个工具条,供用户快速访问某些功能。
  • 展示进度:例如在后台执行某个操作时,可以打开一个对话框显示操作的进度和状态。

在这里插入图片描述

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

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

相关文章

12个Console命令,让js调试更简单

Console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 Console 对象,这是宿主对象(也就是浏览器)提供的内置对象。 用于访问调试控制台, 在不同的浏览器里效果可能不同。 Console 对象常见的两个用途: 显示网页代码运…

SAP STO跨公司间转储含POD交货操作简介

STO跨公司间转储含POD交货这个业务常见于集团性的公司, 1、同一个集团下A公司和B公司都是独立的,A公司向B公司进行采购。B公司会有一张交货单,然后基于交货单进行过账,收货,开票等操作。 2、当同一个公司下不同工厂间…

微信支付,微信平台证书如何下载,如何获取平台证书 wxpay如何初次获取平台证书 java初次生成平台证书, java生成微信platform.pem

1. 场景:使用ijpay,调用获取平台证书失败。 属于初次获取平台证书。 注:做返回校验使用,不校验好像也没事,但是支付无小事,强烈建议获取平台证书,校验后做回调相关处理!!…

【iOS】YYModel源码阅读笔记

文章目录 前言一、JSON转换库对比二、YYModel性能优化三、YYModel的使用四、架构分析YYClassInfo 剖析 五、流程剖析转换前准备工作 – 将JSON统一成NSDictionary将NSDictionary 转换为Model对象提取Model信息使用NSDictionary的数据填充Model 总结 前言 先前写了JSONModel的源…

学习了解 JSON Schema

在数字时代,数据的快速增长要求开发者掌握有效的管理和验证技术。JSON(JavaScript Object Notation) 是一种流行的轻量级数据交换格式,在网络编程中有广泛应用。为了应对复杂数据的挑战,JSON Schema 诞生,提…

C++九州控制地址结构else 陈述

else如同英文字义,九州qa98錪cc否则的意思,通常放在if的后面,若if的条件为真,就执行if底下大括弧围起来的程式区块,若为假,就执行else底下大括弧围起来的程式区块。 形式如下: 这个概念用于二选…

PostgreSQL Schema管理基础

Postgresql schema是什么、为什么它们很重要以及如何使用schema(模式)使您的数据库实现更加健壮和可维护?本文将介绍 Postgresql 中schema的基础知识,并通过一些基本示例向您展示如何创建它们。未来的文章将深入探讨如何保护和使用实际应用程序schema的示…

[linux]基于Ubuntu24.04原内核6.8.0升级到6.9.0

物理机操作系统: 虚拟机操作系统: Ubuntu 24.04 下载地址: https://mirror.nju.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso VM版本信息: 内核源代码来源: https://ftp.sjtu.edu.cn/sites/ftp.kern…

Open vSwitch 守护进程的 upcall 处理(re)

一、upcall 消息的类型 在 Open vSwitch 的数据包转发流程中,如果数据包在内核空间无法完全处理(比如匹配不到流表项),就会发生 upcall 调用,将数据包从内核空间的 Datapath 模块传输至用户空间的 ovs-vswitchd 守护进…

Mybatis源码解读

MyBatis是我们工作中常见的ORM持久层框架,对于MyBatis并不能仅仅局限于会使用的阶段,更需要了解它的工作原理,想要了解原理,源码是必须要读的,这篇文章是我个人在阅读MyBatis的源码过程中的一些简单的总结,…

过孔开窗、过孔盖油、过孔塞油、过孔塞树脂的比较

一、过孔开窗、过孔盖油、过孔塞油、过孔塞树脂的比较: 过孔开窗是指过孔的焊环上面裸露,不盖油墨。如果做表面处理喷锡的话,焊环这里就类似于贴片焊盘上锡,可以用来焊接作用。 过孔盖油指的是via过孔的焊环上面不裸露,覆盖油墨,为避免板子使用时有短路等情况。

霍尼韦尔落地灯好用吗?书客、霍尼韦尔、柏曼护眼大路灯对比较量!

我们都知道光线无处不在,想要减少近视隐患,就不得不提一下护眼灯了,特别是经常坐在电脑前码字的上班族以及深夜还在学习的学生党这一类人群,经常用眼光线不好不仅影响视力健康,还会影响效率。而一款护眼灯能够提供柔和…

人工智能术语

1、人工智能的概念 人工智能概念,在1956年召开的达特茅斯会议上正式被提出。该会议是由信息学鼻祖克劳德.艾尔伍德.香农(ClaudeElwoodShannon)以及马文.明斯基(Marvin Minsky)、约翰.麦卡锡(JohnMcCarthy)等十位信息学、数学、计算机学的科学先驱,在美国…

红黑树的基本原理

目录 一.概念与性质 二.基本操作 1.建树 2.插入 情况一 情况二 3.查找 4.验证 三.红黑树与AVL树的比较 一.概念与性质 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根…

构建大语言模型友好型网站

以大语言模型为代表的AI 技术迅速发展,将会影响原有信息网络的方式。其中一个明显的趋势是通过chatGPT 对话代替搜索引擎和浏览器来获取信息。 互联网时代,主要是通过网站(website)提供信息。网站主要为人类阅读的方式构建的。主要…

✊构建浏览器工作原理知识体系(网络协议篇)

🌻 前言 书接上回~ 系列文章目录: # ✊构建浏览器工作原理知识体系(开篇)# ✊构建浏览器工作原理知识体系(浏览器内核篇)# ✊构建浏览器工作原理知识体系(网络协议篇)✊构建浏览器工作原理知识体系(网页加载超详细全过程篇)为什么你觉得偶尔看浏览器的工作原理,…

【稳定检索/投稿优惠】2024年艺术、语言与文化交流国际会议(ALCE 2024)

2024 International Conference on Art, Language, and Cultural Exchange 2024年艺术、语言与文化交流国际会议 【会议信息】 会议简称:ALCE 2024 截稿时间:点击查看 大会地点:中国桂林 会议官网:www.icalce.com 会议邮箱&#…

重生奇迹mu套装掉的地点一览

1、目前只有三个地方掉套装:赤色要塞,不是100%掉,靠运气。卡利玛7,杀困顿能掉。魔炼之地,只有城主盟成员可以进入。 2、只有攻城城主盟可以进入的地图“魔炼之地”掉套装,暴率几乎为0。如果你是敏法的话&am…

深圳宝安餐饮行业揭秘:可燃气体报警器校准方法与周期的重要性

在日益注重餐饮安全的今天,深圳宝安区的餐饮行业也在不断探索和实践更加有效的安全管理措施。其中,可燃气体报警器的使用与校准成为了保障餐饮场所安全的重要一环。 在这篇文章中,佰德将详细解析可燃气体报警器的重要性、深圳宝安餐饮现状、…

LLM定制的四个层次

LLM(Large Language Models)代表了一种提高生产力的创新方法。他们能够简化各种任务,显著提高整体效率。从提示工程到Agents可以分为四个层次。 Level-1: Prompt engineering Prompt是简明的输入文本,用作查询或指令,引导语言模型产生所需输…