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

qt窗口--02

文章目录

  • qt窗口--02
    • QMessageBox
    • QColorDialog
    • QFileDialog
    • QFontDialog
    • QInputDialog、
    • 结语

很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!!
在这里插入图片描述
作者:٩( ‘ω’ )و260
我的专栏:qt,Linux,C++进阶,C++初阶,数据结构初阶,题海探骊,c语言
欢迎点赞,关注!!

qt窗口–02

我们上节介绍了对话框的基础类型,该文主要介绍对话框的扩展类型。即生活中常用的对话框qt其实已经内置了~

QMessageBox

消息对话框,在生活中一般会弹出问题,信息,报错等等~
自定义对话框有两种方式,一种是动态方式,一种是静态方式,我们先来看第一种方式:
在这里插入图片描述
虽然说qt的QMessageBox内置了按钮,同时,因为这个按钮是QMessageBox生成的,所以无法去建立信号和槽的连接。
先来看结果:
在这里插入图片描述
其实,我们这里也是可以写QMessageBox->exec(),此时程序就会在这一行代码这里给断掉,直到将该exec显示的控件给关闭,才会继续向下运行代码,同时,exec这种方式不仅是模态,还能够获取当前用户点击了什么东西:
在这里插入图片描述
为什么是整形呢?因为内置的按钮是可以使用整形来表示的
我们来看代码,可以来获取当前用户点击了什么按钮:
在这里插入图片描述
我们再来看结果:
在这里插入图片描述
此时就会有对应的打印日志~

上面我们都是通过动态的函数创建,随后我们再来对动态new出来的QMessageBox进行操作,我们使用静态创建的话,不用使用new,也能够对该对话框进行操作。
来看代码:
在这里插入图片描述
因为该函数是静态函数,所以都不用进行销毁了。
结果和动态创建的结果是相同的,这里就不再演示了。

QColorDialog

颜色对话框,其实内置了调色板。
在前面学习控件的时候,我们学过stylesheet控件属性,在那个部分我们讲解过颜色的表示形式,这里我们顺便复习一下:
在这里插入图片描述
这里我们依然是使用静态函数的创建方式,来创建这个颜色对话框,同时,我们使用颜色对话框来调整mainWindow窗口的颜色。
来看代码:
在这里插入图片描述
我们先来看结果:
在这里插入图片描述
此时我们用户设置的值就能够通过返回值给到我们用来接收的color变量,我们再来通过这个变量设置stylesheet给到mainWindow即可:
首先我们需要明白stylesheet需要传递一个QString过去,所以我们需要遵循qss设置颜色的规则:
在这里插入图片描述
接下来我们直接来看代码:
在这里插入图片描述
这里我们同样可以使用sprintf字符串拼接函数,实现效果:
在这里插入图片描述
这样我们就实现了这种效果。

QFileDialog

该对话框主要是用来通过打开文件/保存文件来获取文件路径。

注意:不是真的保存了文件,还需要进行其他的有关文件操作的知识,这里我们后面再说

我们来使用文件对话框来获取文件的路径,我们同样是使用静态的创建的方式:
在这里插入图片描述
我们直接来看结果:
在这里插入图片描述
其他的涉及文件对话框的内容我们放到文件操作的章节再来去谈

QFontDialog

接下来我们仍然是使用静态的方式来创建字体对话框。
我们直接来看代码:
在这里插入图片描述
这个函数中的bool值是用来干什么的呢?
其实就是利用bool值确定用户点击的什么,当用户点击ok或者cancel,对应的bool值就会被修改:
在这里插入图片描述
我们来看效果:
在这里插入图片描述
用户对于字体的设置,就会通过getFont函数返回值返回给我们设置的font变量~

通过我们返回的font对象,就可以完成我们对控件字体的修改,我们来看示例代码,同时给出结果:
在这里插入图片描述

QInputDialog、

输入对话框,还是使用静态创建的方式,同时我们设置变量接收用户输入的结果,这里有三种静态创建的方式,分别是getInt,getDouble,getItem,前两个其实都好理解,即输入整形和浮点型,第三种是输入条项,即字符串,来看代码:
在这里插入图片描述
QStringList其实就是类似于c++stl 库中的vector或List,有些接口和他们是相同的。
来看结果:
在这里插入图片描述

结语

今天的内容就分享到这里,感谢大家的认真倾听,不足之处欢迎大家留言指出,感谢大家支持!
在这里插入图片描述

http://www.dtcms.com/a/317351.html

相关文章:

  • 无人设备遥控器之跳频技术篇
  • 鹧鸪云:光伏电站的“智慧中枢”,精准调控逆变器
  • 使用 Helm 在 Kubernetes 中安装 Milvus
  • 企业知识库:RAG技术实现流程总览(一)
  • 【motion】标签体系设计与检索 1:HumanML3D 和 KIT Motion-Language(KITML)
  • 河南萌新联赛2025第(四)场【补题】
  • 键帽(dp)
  • 分布式光伏气象站:安装与维护
  • 【运维进阶】DHCP服务配置和DNS域名解析
  • 最长公共子序列-动态规划
  • 如何在linux中使用Makefile构建一个C++工程?
  • 中科米堆CASAIM机加工件来料尺寸自动化三维测量方案
  • 第十八天:C++进制之间的转换
  • 机器学习算法篇(六)贝叶斯算法
  • 基于php的个人健康管理系统设计与实现/vue/php开发
  • Leetcode题解:739每日温度,用单调栈解决问题!
  • LeetCode 91~110题解
  • Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备故障预测与智能运维中的应用(384)
  • 自动驾驶系统的网络安全风险分析
  • 力扣经典算法篇-45-回文数(数字处理:求余+整除,字符串处理:左右指针)
  • 【2025.08.06最新版】Android Studio下载、安装及配置记录(自动下载sdk)
  • Java 使用动态代理和反射实现字段变更跟踪
  • 一种基于潜在表征的轻量级无人机热成像超分辨率网络
  • Linux systemd 系统管理:systemctl 控制服务与守护进程
  • Redis集群核心原理与实战解析
  • Pytest项目_day04(Python做接口请求)
  • PyTorch生成式人工智能(26)——使用PyTorch构建GPT模型
  • 语言模型的多个agent
  • Java学习第一百一十部分——CI/CD
  • 输电线路防外破声光预警装置 | 防山火/防钓鱼/防施工安全警示系统