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

目录

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 Creator右侧界面控件属性区更改QWidget类的styleSheet属性。

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

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

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

例子:

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

QCalendarWidget

表示日历的控件。

核心属性:

selectDate:当前选中的日期。

日历控件重要的信号:

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

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

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

例子:

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

0001.基于springmvc简易酒店管理系统后台

一.系统架构 springmvcjsplayuimysql 二.功能特性 简单易学习,虽然版本比较老但是部署方便,tomcat环境即可启用;代码简洁,前后端代码提供可统一学习;祝愿您能成尽快为一位合格的程序员,愿世界没有BUG; …

Wallpaper壁纸制作学习记录12

角色表 创建人偶变形动画的更高级方法可以使用角色表来完成。角色表要求您使用角色的切割版本,将您的角色分成不同肢体/部分。这允许创建更复杂、更准确的动画,因为部分可以自由移动和重叠,而不会使图像失真。使用操控变形不一定能获得良好的…

【Python项目】基于Django的语音和背景音乐分离系统

【Python项目】基于Django的语音和背景音乐分离系统 技术简介:采用Python技术、Django框架、B/S结构,MYSQL数据库等实现。 系统简介:系统完成在线的音频上传,并且通过计算机的神经网络算法来对系统中的背景音乐和人声进行分离操作…

负载均衡oj项目:介绍

目录 项目介绍 项目演示 项目介绍 负载均衡oj是一个基于bs模式的项目。 用户使用浏览器向oj模块提交代码,oj模块会在所有在线的后端主机中选择一个负载情况最低的主机,将用户的代码提交给该主机,该主机进行编译运行,将结果返回…

【鸿睿创智开发板试用】移植OpenCV 4到OpenHarmony 4.1

目录 目录 引言 编译系统镜像 (1) 下载代码后解压SDK (2) 下载docker镜像   (3) 编译OH 编译OpenCV 下载OpenCV源代码 构建编译配置文件 执行编译命令 安装库和头文件 测试 结语 引言 最近有个需求是在基于RK3568的OpenHarmony 4.1系统中使用OpenCV&#xff0c…

【HarmonyOS之旅】HarmonyOS开发基础知识(一)

目录 1 -> 应用基础知识 1.1 -> 用户应用程序 1.2 -> 用户应用程序包结构 1.3 -> Ability 1.4 -> 库文件 1.5 -> 资源文件 1.6 -> 配置文件 1.7 -> pack.info 1.8 -> HAR 2 -> 配置文件简介 2.1 -> 配置文件的组成 3 -> 配置文…

【机器人】Graspness 端到端抓取点估计 | 环境搭建 | 模型推理测试

在复杂场景中实现抓取检测,Graspness是一种端到端的方法; 输入点云数据,输出抓取角度、抓取深度、夹具宽度等信息。 开源地址:https://github.com/rhett-chen/graspness_implementation?tabreadme-ov-file 论文地址&#xff1…

B站bilibili视频转文字字幕下载方法

本文将讲述介绍一种使用本地工具如何快速的下载B站的字幕为本地文本文件的方法。 通常获取B站字幕需要在浏览器中安装第三方插件,通过插件获取字幕。随着大模型,生成式AI,ChatGPT的应用,B站也提供了AI小助手对视频的内容进行总结…

CSS3 实现火焰-小火苗效果

创建 CSS3 火焰效果可以通过组合 CSS 动画、伪元素 和 渐变 来实现。以下是一个简单的实现步骤&#xff0c;展示如何制作动态火焰效果 1. HTML 结构 我们只需要一个简单的 div 容器&#xff1a; <div class"fire"></div>2. CSS 实现 基础样式 使用 …

新能源汽车充电需求攀升,智慧移动充电服务有哪些实际应用场景?

在新能源汽车行业迅猛发展的今天&#xff0c;智慧充电桩作为支持这一变革的关键基础设施&#xff0c;正在多个实际应用场景中发挥着重要作用。从公共停车场到高速公路服务区&#xff0c;从企业园区到住宅小区&#xff0c;智慧充电桩不仅提供了便捷的充电服务&#xff0c;还通过…

git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息

git remote -v 是一个 Git 命令&#xff0c;用于显示你的 Git 仓库配置的远程仓库的详细信息。 当你执行 git remote -v 命令时&#xff0c;你会看到类似以下的输出&#xff1a; origin https://github.com/your-username/your-repo.git (fetch) origin https://github.com…

Java Web项目部署教程简单实用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…

【爬虫一】python爬虫基础合集一

【爬虫一】python爬虫基础合集一 1. 网络请求了解1.1. 请求的类型1.2. 网络请求协议1.3. 网络请求过程简单图解1.4. 网络请求Headers(其中的关键字释义)&#xff1a;请求头、响应头 2. 网络爬虫的基本工作节点2.1. 了解简单网络请求获取响应数据的过程所涉及要点 1. 网络请求了…

清理C盘小记

突然C盘就爆满了&#xff0c;想当初还是给他预留了120G的空间&#xff0c;感觉到现在也不够用了&#xff0c;担心出现死机的情况就赶紧进行了清理。有一说一&#xff0c;清理回收站是真的有用。 参考&#xff1a;C盘清理指南&#xff0c;清理出30G起&#xff0c;超详细总结&am…

Ansible playbook 详解与实战操作

一、概述 playbook 与 ad-hoc 相比,是一种完全不同的运用 ansible 的方式&#xff0c;类似与 saltstack 的 state 状态文件。ad-hoc 无法持久使用&#xff0c;playbook 可以持久使用。 playbook 是由一个或多个 play 组成的列表&#xff0c;play 的主要功能在于将事先归并为一…

seata-2阶段提交-笔记3

本文属于B站图灵课堂springcloud笔记系列。 前面整理过2篇:seata 2阶段提交实现代码-笔记1-CSDN博客 扫描GlobalTransactional注解 seata 2阶段提交实现代码-笔记2-CSDN博客 TC生成XID&#xff0c;并保存到global_table表。 本篇继续整理 执行业务逻辑&#xff0c;提交本地…

Docker如何运行一个Java的jar包程序

Docker如何运行一个Java的jar包程序 1、jar包程序 2、start.sh运行jar包脚本 #!/bin/bash #进入目录 cd /app #1.下载SDK并安装 java -jar SDKDown1.4.jar #2.加载环境变量 export LD_LIBRARY_PATH/opt/casb/CipherSuiteSdk_linux/lib echo $LD_LIBRARY_PATH #3.执行SDK java …

Pycharm访问MongoDB数据库

MongoDB的基础操作 1. 创建连接 #导入pymongo中的用于操作数据库的客户端 from pymongo import MongoClient #创建客户端对象&#xff0c;连接MongoDB服务器 client MongoClient(mongodb://admin:admin123456localhost:27017) 2. 数据的增删改查 2.1 数据的写入 from mon…

【Python】编写一个函数,将指定的罗马字符转换为数字的形式。

#编写一个函数&#xff0c;将指定的罗马字符转换为数字的形式。R2N {I:1, V:5, X:10, L:50, C:100, D:500, M:1000}def roman2num(s):r 0n len(s)for i, ch in enumerate(s):v R2N[ch]if i < n-1 and v < R2N[s[i1]]:r - velse:r vreturn r;s input("请输入一…

【深度学习总结】使用PDF构建RAG:结合Langchain和通义千问

【深度学习总结】使用PDF构建RAG&#xff1a;结合Langchain和通义千问 使用平台&#xff1a;趋动云&#xff0c;注册送算力 前言 在大型语言模型&#xff08;LLMs&#xff09;应用领域&#xff0c;我们面临着大量挑战&#xff0c;从特定领域知识的匮乏到信息准确性的窘境&am…