当前位置: 首页 > news >正文

【Qt】:对话框(一)

对话框

  • 一.基本的对话框
  • 二.自定义对话框
  • 三.通过图形化界面自定义对话框
  • 四.关于对话框mode

对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。

Qt常用的内置对话框有:

  1. QFiledialog (文件对话框).
  2. QColorDialog(颜色对话框)、
  3. QFontDialog(字体对话框)、
  4. QInputDialog(输入对话框)
  5. QMessageBox(消息框)。

在创建项目时,本身就有有dialog项目。

在这里插入图片描述

但是在实际工作中,更多的是在window文件里,创建对话框,继承dialog类。

一.基本的对话框

创建一个按钮,当点击该按钮时,就会弹出一个对话框。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上述代码实际上是有问题的。每次点击按钮都会new一个新对象,毫无疑问是会造成内存泄漏的。所以我们应该在使用完毕后delete。当用户点击叉时,发出信号,delete窗口。为了方便我们操作,Qt对此封装了一个属性用以实现上面功能。

在这里插入图片描述

二.自定义对话框

上面的对话框太单调了,我们想加一些其它东西。所以我们就需要继承dialog创建类。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果想要添加控件,直接在对应的cpp文件里添加即可。

在这里插入图片描述

在这里插入图片描述

三.通过图形化界面自定义对话框

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在当前ui文件里就可以自定义对话框了,完成后再像上面一样创建dialog,就可以调用自定义对话框了。

在这里插入图片描述

注意此处调用的是我们自己生成的类,而不是库里的QDialog。

在这里插入图片描述

四.关于对话框mode

对话框分为模态对话框和⾮模态对话框。

模态对话框指的是:显示后无法与父窗口进行交互,是一种阻塞式的对话框。使用QDialog.:exec()函数调用。模态对话框适用于必须依赖用户选择的场合,比如消息显示,文件选择,打印设置等。

非模态对话框显示后独立存在,可以同时与父窗口进行交互,是一种非阻塞式对话框,使用QDialog:show()函数调用。
非模态对话框一般在堆上创建,这是因为如果创建在栈上时,弹出的非模态对话框就会一闪而过。同时还需要设置Qt:WA_DeleteOnClose属性,目的是:当创建多个非模态对话框时(如打开了多个非模态窗口),为了避免内存泄漏要设置此属性。
非模态对话框适用于特殊功能设置的场合,比如查找操作,属性设置等。

上面所写代码都是非模态的,想要改成模态的也很简单,只需要把show函数改成exec即可。

在这里插入图片描述

在这里插入图片描述

相关文章:

【Qt】:对话框(一)

对话框 一.基本的对话框二.自定义对话框三.通过图形化界面自定义对话框四.关于对话框mode 对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者…...

数据结构与算法 — 贪心算法

数据结构与算法 数据结构与算法是计算机科学中的两个核心概念,它们在软件开发和问题解决中起着至关重要的作用。 数据结构 数据结构是计算机中存储、组织和管理数据的方式,它能够帮助我们高效地访问和修改数据。不同的数据结构适用于不同类型的应用场…...

python如何连接openGauss及django相关配置

前言 网络上很多类似教程,但是有可能不适用。这里给出官网的教程当作参考网络上的方案 安装psycopg2包。 pip install psycopg2 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装完成后,导入包即可使用import psycopg2# Connect to your postgres DB…...

​开箱子的游戏能做吗?

类似寻道大千、咸鱼之王、无名之辈、疯狂骑士团这种类型的游戏,大家应该都知道吧,目前非常受欢迎. 这类游戏注重玩家的成长感和探索体验,玩家在进入游戏后,就能够直接开启宝箱获得各种装备,装备的品质越好、级别越高,能为角色带来的属性加成…...

一、Spring基础 --- 基础内容(二) (咕P4)

一、IOC容器 1.1 基础 1.1.1 容器 1、Spring框架的主要功能是通过其核心容器来实现的。2、Spring容器是生成Bean的工厂,它负责创建Bean的实例,并管理其生命周期。所有的组件都被当成Bean处理,例如数据源、Hibernate的SessionFactory、事务管…...

uview2 表单Form校验validate不生效处理方法

先贴官网实例&#xff1a; <template><view class""><u-form :model"form" ref"uForm"><u-form-item label"姓名" prop"name"><u-input v-model"form.name" /></u-form-item&g…...

给已存在的docker容器修改端口映射

1、systemctl stop docker 2、find / -name hostconfig.json 3、cd * 4、vim hostconfig.json 5、找到“PortBindings”字段&#xff0c;如下所示&#xff1a; "PortBindings":{"80/tcp": [{ //容器内端口"HostIp": "","…...

【Keil5-调试】

Keil5-调试 ■ 好的链接■ watch窗口中&#xff0c;变量值不会刷新■ 当选择了非0级优化时■■ ■ 好的链接 参考地址&#xff1a; debug ■ watch窗口中&#xff0c;变量值不会刷新 有时候在watch窗口中&#xff0c;变量值不会刷新&#xff0c;这时候就需要查看一下"V…...

OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明

softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具&#xff0c;文件结构如下图所示。 softbus_tool 能够将软总线 interfaces 目录下的一些常用接口集中起来&#xff0c;供设备间搭建一些场景时使用&#xff08;比如设备绑定、BR 组网&#xff0c;BLE 组网&#xff…...

Go第三方框架--ants协程池框架

1. 背景介绍 1.1 goroutine ants是站在巨人的肩膀上开发出来的&#xff0c;这个巨人是goroutine&#xff0c;这是连小学生都知道的事儿&#xff0c;那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题&#xff0c;希望讲完本文大家可以有个答案。 go协程只涉及用…...

【原创】springboot+vue个人财务记账管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…...

MySQL基础练习题:习题2-3

这部分主要是为了帮助大家回忆回忆MySQL的基本语法&#xff0c;数据库来自于MySQL的官方简化版&#xff0c;题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。上期帮助大家建立数据库&#xff0c;导入数据&#xff0c;接下来让我们继续练习。 …...

超图SuperMap-Cesium,地形图层,可以渲染一个或多个地形(地形可缓存DEM,TIN方式),webGL代码开发(2024-04-08)

1、缓存文件类型TIN格式&#xff0c;TIN的地形sct只能加一个 const viewer new Cesium.Viewer(cesiumContainer); viewer.terrainProvider new Cesium.CesiumTerrainProvider({isSct: true, // 是否为iServer发布的TIN地形服务,stk地形设置为falserequestWaterMask : true,…...

PCB学习记录---原理图

一、注释 NC&#xff1a;no connect,默认不连接 NF: no fix&#xff0c;默认不安装 0R: 0R的电阻&#xff0c;即可以短路 二、看图流程 1、看标题&#xff0c;了解功能 2、浏览有几个模块 3、找芯片对应的数据手册&#xff0c;了解芯片功能和使用 例如CH224&#xff…...

结构型模式--3.组合模式【草帽大船团】

1. 好大一棵树 路飞在德雷斯罗萨打败多弗朗明哥之后&#xff0c;一些被路飞解救的海贼团自愿加入路飞麾下&#xff0c;自此组成了草帽大船团&#xff0c;旗下有7为船长&#xff0c;分别是&#xff1a; 俊美海贼团75人 巴托俱乐部56人 八宝水军1000人 艾迪欧海贼团4人 咚塔塔海…...

网络基础三——其他周边问题

3.1ARP原理 ​ ARP不是一个单纯的数据链路层的协议&#xff0c;而是一个介于数据链路层和网络层之间的协议&#xff1b; ​ 以广播的形式(主机号填成全1)构建Mac帧&#xff0c;发送ARP请求包&#xff0c;告诉所有在局域网的主机我的IP地址和Mac帧&#xff0c;与目的IP相同的主…...

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读&#xff1a;物理信息的神经网络与湍流传质的非封闭机制模型相结合 文献摘要 提出问题 提出方案 实验设置 所需方程介绍 雷诺时均方程&#xff08;RANS&#xff09; K-epsilon两方程模型 神经网络框架 DNN部分 损失函数定义 PINN部分…...

Redis(持久化 -- RDB AOF)

持久化 通常我们认为持久化为: 重启进程/重启主机之后, 数据仍然存在不丢失 把数据存储在硬盘上 – 持久 把数据存储在内存中 – 不持久 Redis 持久化 redis 是一个内存数据库, 也就是说本身是不持久的(但是快[效率高]), 于是 Redis 提供了持久化机制 — RDB 和 AOF 二者都是对…...

LDR6328助力Type-C普及,便捷充电,绿色生活更精彩

随着科技的进步和全球统一接口的需求&#xff0c;Type-C接口正日益受到青睐。越来越多的设备正选择采纳这一先进的接口设计&#xff0c;它的普及无疑在改善着我们的日常生活。 在过往&#xff0c;许多小功率设备如小风扇、蓝牙音箱、桌面台灯以及家用加湿器等&#xff0c;都普遍…...

redis主从复制、哨兵模式、集群

文章目录 redis主从复制主从复制的配置**安装Redis**配置主服务器配置从服务器验证主从效果 哨兵模式哨兵的工作机制哨兵模式的搭建启动哨兵 集群分布式集群的搭建 redis主从复制 Redis主从复制&#xff08;Redis replication&#xff09;是Redis提供的一种数据备份和故障转移…...

shell免登陆脚本

#!/bin/bash ## 脚本接收的参数&#xff0c;也就是要互相配置 SSH 免密登录的服务器列表参数 BASE_HOST_LISTip ## 密码&#xff0c;默认用户是当前运行脚本的用户&#xff0c;比如 root 用户 ## 这里改成你的用户对应的密码 BASE_PASSWORD"password" ## shell 函…...

基于springboot+vue+Mysql的职称评审管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…...

GitLab教程(一):安装Git、配置SSH公钥

文章目录 序一、Git安装与基本配置&#xff08;Windows&#xff09;下载卸载安装基本配置 二、SSH密钥配置 序 为什么要使用代码版本管理工具&#xff1a; 最近笔者确实因为未使用代码版本管理工具遇到了一些愚蠢的问题&#xff0c;笔者因此认为代码版本管理工具对于提高团队…...

【算法】无序数组的两数之和 - map标记

题目 在一个无序数组中找到两个数&#xff0c;两个数之和为给定的一个数&#xff0c;返回两个数在数组中的下标。 原理 遍历数组&#xff0c;遍历到一个数字的时候&#xff0c;记录下这个数及其下标&#xff0c;遍历时判断给定数减去这个数为key在map中是否存在&#xff0c;…...

Prime (2021): 2

前言 这个靶机有亿点难,收获很多。打靶的时候&#xff0c;前面很顺&#xff0c;到创建ssh公钥之后就一点不会了。 1 01 arp扫描&#xff0c;发现有一个130&#xff0c;再查看端口 有22&#xff0c;80&#xff0c;129&#xff0c;445&#xff0c;10123 dirb扫描目录 这…...

React 状态管理:安全高效地修改对象属性的 3 种方法

在 React 应用程序中,状态(state)是驱动整个应用程序的核心。当应用程序的状态发生变化时,React 会自动重新渲染相应的组件,以确保用户界面的更新。 与数组状态一样,对象状态在 React 中也需要特别处理。直接修改对象属性是不被允许的,因为 React 的不可变性原则要求我们创建一…...

python实现pdf的页面替换

利用第三方库PyPDF2&#xff0c;下面例子中进行的是将 origin.pdf 的第17页替换为 s17.pdf 的第1页&#xff1a; import PyPDF2def replace_pages(original_pdf_path, replacement_pages):with open(original_pdf_path, rb) as original_file:original_pdf PyPDF2.PdfReader(…...

[AIGC] Java List和Map常用API以及其Python实现方式对照介绍

Java和Python作为当今非常浅显易懂的编程语言&#xff0c;其数据结构中对于List和Map&#xff08;Java&#xff09;或List和Dict&#xff08;Python&#xff09;的操作无疑是每个程序员都非常必需的知识。本文将介绍在Java中对List和Map常用的一些操作&#xff0c;并给出在Pyth…...

零基础如何闯入IT的神秘大门?

前言 随着信息技术的飞速发展&#xff0c;IT行业成为了许多有志之士梦寐以求的职业领域。但对于零基础的人来说&#xff0c;如何成功进入这个行业却是一个不小的挑战。下面&#xff0c;我将结合自身的C语言专业知识&#xff0c;为大家详细阐述一条可行的学习路径&#xff0c;并…...

java程序 .exe启动nginx防止重复启动,已解决

java代码生成好的.exe启动nginx服务程序 根据nginx占用端口来解决nginx服务重复启动问题&#xff08;下面代码了解代码逻辑后根据自己的业务需求修改即可&#xff09; 代码&#xff1a; package org.example;import javax.swing.*; import java.awt.*; import java.io.*; …...