【Qt】QLCDNumber | QProgressBar | QCalendarWidget

文章目录

  • QLCDNumber —— 显示数字
    • QLCDNumber 的属性
    • QLCDNumber 的使用
  • QProgressBar —— 进度条
    • QProgressBar 的属性
    • 创建一个进度条
    • 修改为 红色的进度条
  • QCalendarWidget —— 日历
    • QCalendarWidget 的属性
    • QCalendarWidget 的使用

QLCDNumber —— 显示数字

QLCDNumber 的属性

QLCDNumber 是一个专门 用来显示数字的控件


intValue QLCDNumber 显示的数字值 (int)

value QLCDNumber 显示的数字值 (double) 和 intValue 是联动的
如: value 设为 1.5 intValue值 就为2
设置 value 和 intValue 的方法名字为 display 而不是 setValue 或 setIntValue

digitCount 显示几位数字

mode 数字显示形式
QLCDNumber::Dec 十进制模式 显示常规的十进制数字
QLCDNumber::Hex 十六进制模式 以十六进制格式显示数字
QLCDNumber::Bin 二进制模式 以二进制格式显示数字
QLCDNumber::Oct 八进制模式 以八进制格式显示数字
(只有十进制的时候 才能显示小数点后的内容)

segmentStyle 设置显示风格
QLCDNumber::Flat : 平面的显示风格 数字呈现在一个平坦的表面上
QLCDNumber::Outline : 轮廓显示风格 数字具有清晰的轮廓和阴影效果
QLCDNumber::Filled : 填充显示风格 数字被填充颜色并与背景区分开

smallDecimalPoint 设置比较小的小数点


QLCDNumber 的使用

使用 QLCDNumber 显示一个初始化的数值 如:10
每隔一秒钟 数字就 -1 一直到0 就停止


想要 实现 每秒-1 这个效果 就需要借助 Qt中封装了对应的定时器


通过 QTimer 这个类 创建出来的对象 就会产生 timeout 信号
可以通过 start 这样的方法 开启定时器 并且参数中设定触发 timeout 的周期
结合 connect 把 timeout 信号 绑定到需要的槽函数中 就可以修改 LCDNumber 中的数字


通过 display 函数 使得 QLCDNumber 显示的数字值 为10
创建一个由QTimer类定义的对象 timer
由 timer发出 timeout信号 由 Widegt 对象 接收 并使用 handle 槽函数 处理
通过 start 方法 开启定时器 并且参数中设定触发 timeout 的周期 单位是毫秒


通过 intValue 函数 获取 QLCDNumber 显示的数字值
若数字值小于等于0 则使用 stop 方法 停止计时器
若数字值 大于0 则 使 QLCDNumber 显示的数字值-1


运行程序后 数字值 会由 10 一直减到 0


QProgressBar —— 进度条

QProgressBar 的属性

QProgressBar 表示进度条

minimum 进度条最小值

maximum 进度条最大值

value 进度条当前值

alignment 文本在进度条中的对齐方式
Qt::AlignLeft 左对齐
Qt::AlignRight 右对齐
Qt::AliCenter 居中对齐
Qt::AlignJustify 两端对齐

textVisible 进度条的数字是否可见

orientation 进度条的方向是水平还是垂直

invertApparance 是否朝反方向增长进度

textDirection 文本的朝向

format 展示的数字格式
%p 表示进度的百分比 (0-100)
%v 表示进度的数值 (0-100)
%m 表示剩余时间(以毫秒为单位)
%t 表示总时间 (以毫秒为单位)


创建一个进度条

让这个进度条的进度 跟随时间增长
(假设 每隔 100ms 进度条数值+1)


在 Qt Designer中 拖拽 Progress Bar 到中间空白框中
查看右侧框中信息 将当前的 value 值 设为 0 即 进度条从0开始增长


创建一个由QTimer类定义的对象 timer
由 timer发出 timeout信号 由 Widegt 对象 接收 并使用 handle 槽函数 处理
通过 start 方法 开启定时器 并且参数中设定触发 timeout 的周期 单位是毫秒

在槽函数 handle中 先使用 value 函数 获取到当前进度条的值
若 大于等于100 则 使用 stop 停止 定时器
若小于100 则使用 setValue 函数 使得 显示的进度条数值+1


运行程序后 进度条就从0开始 一直跑到100后 停止


修改为 红色的进度条

在 Qt Designer中 选择右键 点击 改变样式表


QProgrsssBar :: chunk 叫做 选择器 即设置的样式到底对那个控件生效
chunk 表示进度条 带颜色的部分
QProgrsssBar 控件生效 并把进度条带颜色的部分的背景色 设置为 红色


此时进度条带颜色的部分变为 红色
(进度条默认颜色为绿色)

QCalendarWidget —— 日历

QCalendarWidget 的属性

QCalendarWidget 表示一个 日历

selectDate ——当前选中的日期

minimumDate ——最小日期

maximumDate ——最大日期

firstDayOfWeek ——每周的第一天 是周几

gridVisible ——是否显示表格的边框

selectionMode ——是否允许选择日期

navigationBarVisible ——日历上标题是否显示

horizontalHeaderFormat ——日历上方标题显示的日期格式

verticallHeaderFormat ——日历第一列显示的内容格式

dateEditEnabled ——是否被允许日期被编辑


重要信号

selectionChanged (const QDate&) —— 当选中的日期发生改变时 发出

activated(const QDate&) ——当双击一个有效的日期或者按下回车键时 发出 形参是一个QDate 类型 保存了选中的日期

currentPageChanged(int ,int) —— 当年份月份改变时发出 形参表示改变后的新年份和月份


QCalendarWidget 的使用

在Qt Designer中 通过 拖拽 Calendar Widget label 到 中间空白框中


将日历转到槽函数 并选择 selectionChanged 信号


通过 selectedDate 函数 可以获取当前选中的日期
虽然 date 是 QDate类型 而setText的参数为 Qstring 类型
但是 date 可以借助 toString 来达到转换的效果


运行程序后 label 标签 就会显示当前所处的日期

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

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

相关文章

UE4_后期处理_后期处理材质及后期处理体积一

后期处理效果 在渲染之前应用于整个渲染场景的效果。 后期处理效果(Post-processing effect)使美术师和设计师能够对影响颜色、色调映射、光照的属性和功能进行组合选择,从而定义场景的整体外观。要访问这些功能,可以将一种称为…

使用docker调试odoo

使用 Visual Studio Code (VSCode) 的 Dev Containers 进行 Odoo 开发和调试是一个高效的方法,尤其是当你希望在一个清洁且一致的开发环境中工作时。以下是设置和配置 Dev Container 以在 Docker 环境中单步调试 Odoo 系统的步骤: ### 步骤 1: 准备 Doc…

多角度解读WMS:探寻仓库管理系统的核心功能

多角度解读 WMS 仓库管理系统 1. 概述 WMS 在数字化工厂中具有举足轻重的地位,它不仅提高了仓储管理的效率与准确性,还能优化整个供应链的管理,支持灵活生产模式,并提供决策支持的关键数据。通过现代前后端技术的架构设计&#xf…

【Spring Boot 3】自定义拦截器

【Spring Boot 3】自定义拦截器 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或…

Prometheus_0基础_学习笔记

一、基本概念 Prometheus是由golang语言开发的一套开源的监控、报警、时间序列数据库的组合,是一款基于时序数据库的开源监控告警系统。 时间序列数据库:时间序列数据库(Time Serires Database , TSDB)不同于传统的关系型数据库。…

idea如何高亮、标记代码颜色的2种方式

zihao 第一种高亮方式 ctrlf 双击选择执行快捷键,所有被搜索的单词都会被搜索且高亮 第二种高亮方式 安装grep console 日志管理插件 ctrlaltf3 双击选择执行快捷键,所有被标记一个颜色高亮

银行卡二三四要素验证-银行卡二三四要素验证接口-银行卡二三四要素验证api

1、接口介绍 银行卡二三四要素验证接口是一种用于验证用户银行卡信息真实性和有效性的技术接口。这种接口在金融、电商等领域有着广泛的应用,旨在确保交易的安全性和合规性。 2、接口地址 全面覆盖,支持所有带银联标识的银行卡; 高准确性-验证结果实时返…

Kubernetes Secret的三种使用方式

Kubernetes Secret的三种使用方式 1、方式一:通过Service Account自动使用2、方式二:挂载Secret到Pod3、方式三:在Docker镜像下载时使用💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes中,Secret是管理敏感信息的利器。创建Secret后,我们可以通过以下三种简洁的方…

RabbitMQ 入门:基本概念、特性及简单示例

什么是 RabbitMQ? RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。它支持多种消息协议,包括 AMQP 0-9-1,并提供了可靠性、灵活的路由、消息持久性等功能。RabbitMQ 是易于使用的,支持多种编程语言&a…

科技型中小企业怎么做

在当今快速发展的科技时代,科技型中小企业扮演着越来越重要的角色。这些企业不仅推动了技术创新,还为经济增长和社会进步做出了巨大贡献。那么,科技型中小企业应如何制定并执行其发展战略呢? 1. 明确定位与战略规划 对于任何企业…

云服务器+docker:还在为项目上线苦恼?一文包你解决(保姆级教程,图文并茂,万字起步!!!)

目录 Blue留言机: 学习视频以及参考资料 : 1、学习之前的必备操作: 第一步:购买服务器 选择一台免费的云服务器(包白嫖的) 配置服务器的一点说明: 查看自己是否购买成功: 第…

docker制作达梦数据库驱动的Python镜像记录

docker制作达梦数据库驱动的Python镜像记录 使用Sqlalchemy ORM 操作达梦 提供构建好的docker镜像 docker pull chongjing001/python:3.12 使用虚拟环境(source /venv/bin/activate) 后pip其他库 镜像中安装Python参考上一篇 下载DM8安装包 版本选择 官网 Linux安装包只有 r…

Python基础笔记

一、python基础1.1 基础知识1.1.1 注释 注释:在程序中对程序代码进行解释说明的文字。 作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性…

前端按钮通过浏览器下载附件

html <a click"downloadAttach(record.memoryAddress)">下载附件</a> js downloadAttach(url){var fileUrl window._CONFIG[staticDomainURL] url;window.open(fileUrl); } 配置文件 window._CONFIG[staticDomainURL] http://127.0.0.1:3000/xxx…

学习笔记 ---- 莫比乌斯反演总结

文章目录 概述前置知识数论分块狄利克雷卷积积性函数 莫比乌斯函数定义性质 莫比乌斯反演因子形式倍数形式 例题周期性字符串互质数对[NOI2010D1T1]能量采集BZOJ2820 YY的GCD[SDOI2015] 约数个数和BZOJ4407 于神之怒加强版【BZOJ2693】jzptab最小公倍数之和[bzoj3529-Sdoi2014]…

【web安全】SQL注入篇

&#x1f3d8;️个人主页&#xff1a; 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞&#x1f44d;收藏&#x1f497;支持一下哦 【web安全】SQL注入篇 SQL注入漏洞基础SQL注入分类判断注入点1. 区分请求类型&#xff08;get、post&#xff09;2. 判断是否存在…

当采用 JSON 格式的数据进行响应时,对象是否需要序列化取决于什么?

目录 1.使用 JSON 库进行序列化 2.使用 Java 的默认序列化机制 当采用 JSON 格式的数据进行响应时&#xff0c;对象是否需要序列化取决于你是如何将对象转换为 JSON 格式的。在Java中有两种情况&#xff1a; 1.使用 JSON 库进行序列化 如果你使用的是像 Jackson、Gson 或 F…

基于yolov8的红绿灯目标检测训练与Streamlit部署(代码+教程)

项目背景 随着智能交通系统的快速发展&#xff0c;自动驾驶技术逐渐成为研究的热点。在自动驾驶领域中&#xff0c;准确识别道路上的交通信号灯是确保车辆安全行驶的关键技术之一。近年来&#xff0c;深度学习技术的发展为交通信号灯的识别提供了强大的支持。YOLO&#xff08;…

集成电路学习:什么是I/O输入输出

I/O&#xff1a;输入输出 I/O&#xff0c;全称Input/Output&#xff0c;即输入输出&#xff0c;是信息处理系统&#xff08;如计算机&#xff09;与外部世界&#xff08;可能是人类或另一信息处理系统&#xff09;之间的通信方式。具体来说&#xff0c;输入是系统接收的信号或数…

几款免费的时序数据库对比

InfluxDB、TDengine、OpenTSDB、QuestDB都是当前主流的时序数据库&#xff0c;它们在性能、功能、适用场景等方面各有特点。下面将从多个维度对这四个数据库进行对比分析&#xff1a; 一、性能 InfluxDB&#xff1a; 高效的时间序列数据写入性能&#xff0c;自定义TSM引擎&am…