【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget

news/2024/12/22 17:54:05/

目录

QLabel

QFrame

例子:

textFormat

 pixmap、scaledContents

alignment

wordWrap、indent、margin

 buddy

 QLCDNumber

例子:

QTimer

QProgressBar

例子:

QCalendarWidget

例子:


QLabel

标签控件,用来显示文本和图片。

QLabel的核心属性:

text:标签中的文本。

textFormat:文本的格式。

setTextFormat的形参是枚举类型,有下面几种取值:

Qt::PlainText(纯文本)

Qt::RichText(富文本,支持html标签)

Qt::MarkdownText(markdown格式)

Qt::AutoText(根据文本内容自动决定文本格式)。

pixmap:QLabel内部的图片。QPixmap类对象,使用qrc文件中的资源路径初始化该对象。

scaledContents:scale:调节;(按比例或缩尺)绘制。标签中的图片内容自动拉伸填充整个标签。

alignment:alignment:对齐。用来设置标签中文本的对齐方式。

 枚举变量的取值:

wordWrap:wrap:换行。设置标签中的文本是否会自动换行,void setWordWrap(bool)

indent:设置标签中文本的缩进,水平和垂直方向都生效。

setIndent的形参是像素值。

margin:设置标签中的文本和边框之间的边距,四个方向都生效。

和indent一样设置边距方法参数也是像素。

openExternalLinks:是否能可以打开文本中涉及到的url。

buddy:给标签设置一个"伙伴",点击标签后对应的伙伴也会被激活。例如将QCheckBox作为一个伙伴,点击标签后,QCheckBox会被选中。

QFrame

从Qt Designer界面中选中一个label控件后,界面右侧就是继承关系,可以看到QLabel继承自QFrame、QWidget、QObject。

我们可以通过QFrame中frameshape改变标签的边框样式。

例子:

textFormat

 pixmap、scaledContents

现在要使我们导入到qrc文件中的图片铺满整个窗口,并且程序运行后,拖拽窗口大小同时该标签上的图片自动调节到与窗口一样的大小,且保持铺满窗口。

当我们进行拖拽窗口的时候,会触发一些系列resizeEvent,resizeEvent是QWidget类中的一个虚函数,当拖拽窗口时父类QWidget会调用虚函数resizeEvent,那么我们利用多态,通过在Widget子类中重写该虚函数resizeEvent。

alignment

默认的对齐方式是垂直居中和靠左,如下:

可以通过按位或多个枚举值来指定多个对齐方式,比如设置水平居中和靠底:

水平居中和垂直居中:

 靠顶和靠右:

wordWrap、indent、margin

仅仅只是设置了换行的:

设置缩进和文本与边框之间的边距后:

 buddy

有两个单选按钮,分别是两个标签的"伙伴",标签中的文本必须是&后跟一个键盘按键字符的形式,按下alt键+标签文本中&后跟的一个键盘按键字符,该标签对应的伙伴按钮就会被选中。

此时按下alt+V对应标签的伙伴按钮就被选中。

 QLCDNumber

专门显示数字的控件。

核心属性:

intValue:以整数型获取QLCDNumber中的数值。

value:以双精度浮点型获取QLCDNumber中的数值。

注意:设置QLCDNumber中的中的值是通过display方法设置的,display支持两种方法:1.使用字符串设置;2.使用整型设置。

digutCount:显示几位数字。

mode:数字显示形式。

segmentStyle:设置显示风格。

smalldecimalPoint:设置比较小的小数点。

例子:

设计一个从10到1的计时器(这里定时的描述必须是10s),间隔时间为1s。

QTimer

定时器类。通过QTimer中的start方法启动定时器,然后每隔一个周期触发一次QTimer::timeout信号,这个周期就是调用start方法启动定时器我们自己设定的时间。我们可以连接QTimer::timeout信号和一个槽函数。

 

QProgressBar

表示一个进度条。

核心属性:

minimum:进度条的最大值。

maximum:进度条的最小值。

value:进度条的当前值。

alignment:文本在进度条中的对齐方式。

textVisible:进度条的数字文本是否可见。

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

textDirection:文本的朝向。

format:进度条文本的类型。

更改进度条体的颜色:

通过Qt Designer右侧界面控件属性区更改QWidget类的styleSheet属性。

 上面这两种进入样式表更改界面都是可以的。

QProgressBarchunk:表示进度条中的进度块;QProgressBar::text表示进度条中的文本。

上面的其他属性都可以在Qt Creator右侧界面控件属性区进行设置。

例子:

搞一个进度条,100ms走1%。

QCalendarWidget

表示日历的控件。

核心属性:

selectDate:当前选中的日期。

日历控件重要的信号:

selecttionChanged():当选中的日期发生改变时发出。

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

currentPageChanged(int,int):当年份月份改变时发出,形参是改变后的新年份月份。

例子:

选中日历中的某日期时,在标签中显示该日期。

注意:QDate中有一个toString()方法可以把日期转化为字符串形式。


http://www.ppmy.cn/news/1557252.html

相关文章

故障诊断 | 一个小创新:特征提取+KAN分类

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…

使用CNN模型训练图片识别(键盘,椅子,眼镜,水杯,鼠标)

首先是环境: 我是在Anaconda3中的Jupyter Notebook (tensorflow)中进行训练,环境各位自行安装 数据集: 本次数据集五个类型(键盘,椅子,眼镜,水杯,鼠标)我收集了每个接近两…

Neo4j插入数据逐级提升速度4倍又4倍

语雀版:https://www.yuque.com/xw76/back/dtukgqfkfwg1d6yo 目录 背景介绍初始方案Node()创建事务批量提交记录Node是否存在生成Cypher语句执行数据库参数优化切换成85k个三元组测试建索引(很显著!!!)MATCH…

UE5 Lyra项目源码分析-角色配置说明

在上一篇里,我们研究了关卡的配置如何在GameMode实现加载的,并稍微理解了Lyra是如何实现的模块化,由于模块化太彻底,所以理解起来有些难,在这一篇里,我们看一下配置里面比较想了解的一块。就是角色是如何配…

阿里数据仓库-数据模型建设方法总结

一、大数据领域建模综述 1.1 为什么需要数据建模 有结构地分类组织和存储是我们面临的一个挑战。 数据模型强调从业务、数据存取和使用角度合理存储数据。 数据模型方法,以便在性能、成本、效率之间取得最佳平衡 成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现…

【ETCD】【源码阅读】深入分析 applierV3backend.Apply`方法源码

applierV3backend的Apply主要负责将 Raft 请求 (pb.InternalRaftRequest) 应用到 Etcd 的后端存储中。它处理各种不同类型的请求,并且根据请求的具体内容调用相应的处理逻辑。 版本【release 文章目录 一、完整源码二、方法详解1. 定义和初始化2. 记录操作开始时间并…

Linux系统安全与应用: 筑牢防线,高效运维

在当今数字化时代,Linux系统凭借其卓越的稳定性与强大的性能,广泛应用于各类关键业务场景,从数据中心服务器到云计算平台,从网络设备到嵌入式系统,无处不在。因此,确保Linux系统安全稳定运行,成为重中之重。本文将深入解析Linux系统安全与应用的关键要点,涵盖账户安全,…

太速科技-527-基于3U VPX XCZU15EG+TMS320C6678的信号处理板

基于3U VPX XCZU15EGTMS320C6678的信号处理板 一、板卡概述 本板卡系我司自主研发的基于3U VPX风冷、导冷架构的信号处理板,适用于高速图像处理等。芯片采用工业级设计。 板卡采用标准3U VPX架构,板上集成一片Xilinx公司ZynqUltraScale系列F…