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

QT:label标签/进度条的使用

文章目录

  • 设置不同格式的文本
  • 显示图片
  • 文本对齐/自动换行/缩进/边距
  • LCDNumber
    • 倒计时
  • ProgressBar
    • 进度条

设置不同格式的文本

在文本格式中,存在富文本,makedown格式的文本,还有纯文本,下面就依据这三个进行举例

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 纯文本格式ui->label->setTextFormat(Qt::PlainText);ui->label->setText("这是纯文本");// 富文本格式ui->label_2->setTextFormat(Qt::RichText);ui->label_2->setText("<b>这是富文本</b>");// markdown格式ui->label_3->setTextFormat(Qt::MarkdownText);ui->label_3->setText("### 这是markdown");
}Widget::~Widget()
{delete ui;
}

在这里插入图片描述

显示图片

在label标签的用法中,还有一个用法是可以使用标签来显示图片的信息:

#include "widget.h"
#include "ui_widget.h"
#include <QLabel>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 先创建一个labelQLabel* label = new QLabel(this);// 设置label的大小属性QRect windowrect = this->geometry();label->setGeometry(0, 0, windowrect.width(), windowrect.height());// 把图片放进去label->setPixmap(QPixmap(":/project.jpg"));
}Widget::~Widget()
{delete ui;
}

运行结果为:

在这里插入图片描述
但是现在的问题是,当窗口变化时,这个图片不会随着窗口的变化而变化 :

在这里插入图片描述

所以一种可行的方案是,重写虚函数,通过重写resizeEvent函数来改变图片大小

这样做的原理是,当窗口大小改变这个事件触发的时候,就会执行这个函数,那么此时再把图片进行大小更改即可

#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QResizeEvent>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置label的大小属性QRect windowrect = this->geometry();ui->label->setGeometry(0, 0, windowrect.width(), windowrect.height());// 把图片放进去ui->label->setPixmap(QPixmap(":/project.jpg"));
}Widget::~Widget()
{delete ui;
}void Widget::resizeEvent(QResizeEvent *event)
{ui->label->setGeometry(0, 0, event->size().width(), event->size().height());
}

在这里插入图片描述
此时发现依旧没有完成目的,这是因为没有设置图片的自动缩放的功能,这里再加一句话:

在这里插入图片描述

这样就实现好了!

文本对齐/自动换行/缩进/边距

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 设置文字居中对齐ui->label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);ui->label->setText("这是一段文字");// 设置自动换行ui->label_2->setAlignment(Qt::AlignTop | Qt::AlignLeft);ui->label_2->setWordWrap(true);ui->label_2->setText("这是很长的文字这是很长的文字这是很长的文字这是很长的文字这是很长的文字这是很长的文字这是很长的文字");// 设置缩进ui->label_3->setAlignment(Qt::AlignTop | Qt::AlignLeft);ui->label_3->setIndent(50);}Widget::~Widget()
{delete ui;
}

设置伙伴

创建两个标签和radiobutton:

在这里插入图片描述

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 在这里设置伙伴ui->label->setBuddy(ui->radioButton);ui->label_2->setBuddy(ui->radioButton_2);
}Widget::~Widget()
{delete ui;
}

LCDNumber

倒计时

在界面上创建一个倒计时的工具:

#include "widget.h"
#include "ui_widget.h"
#include <QTimer>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建一个QTimer实例qtime = new QTimer(this);// 连接到信号槽connect(qtime, &QTimer::timeout, this, &Widget::handler);qtime->start(1000);
}Widget::~Widget()
{delete ui;
}void Widget::handler()
{// 获取当前时间int value = ui->lcdNumber->intValue();// 把新时间设置进去if(value <= 0){qtime->stop();return;}ui->lcdNumber->display(value - 1);
}

在这里插入图片描述

ProgressBar

进度条

设置进度条,按时间增长

#include "widget.h"
#include "ui_widget.h"
#include <QTimer>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);timer = new QTimer(this);connect(timer, &QTimer::timeout, this, &Widget::handler);timer->start(100);
}Widget::~Widget()
{delete ui;
}void Widget::handler()
{int value = ui->progressBar->value();if(value >= 100){timer->stop();return;}ui->progressBar->setValue(value + 1);
}

在这里插入图片描述

相关文章:

QT:label标签/进度条的使用

文章目录 设置不同格式的文本显示图片文本对齐/自动换行/缩进/边距LCDNumber倒计时 ProgressBar进度条 设置不同格式的文本 在文本格式中&#xff0c;存在富文本&#xff0c;makedown格式的文本&#xff0c;还有纯文本&#xff0c;下面就依据这三个进行举例 #include "w…...

网络初始化配置

IPADDR192.168.23.10 #新的ip地址&#xff0c;ip的网段要与nat模式下的网段一致 NETMASK255.255.255.0 #子网掩码 GATEWAY192.168.23.2 #网关 DNS1114.114.114.114 #域名解析&#xff1a;配置为国内114.114.114.114&#xff0c;国外8.8.8.8 ONBOOTtrue 启动时该网卡…...

在Ubuntu上搭建并通过systemctl管理Minecraft Java版服务器

本教程将详细介绍如何在Ubuntu操作系统上搭建一个Minecraft Java版服务器&#xff0c;并使用systemctl服务来管理服务器的启动、停止和重启。同时&#xff0c;我们还将探讨如何通过NGINX设置TCP/UDP转发&#xff0c;使得玩家能够通过域名方便地连接到你的Minecraft服务器。 准…...

【C++PCL】点云处理ESF描述符

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 重点:每个模块都有参数如何调试的讲解,即调试某个参数对结果的影响是什么,大家有问题可以评论哈,如果文章有错误的地方,欢迎来指出错误的…...

鸿蒙应用开发系列 篇二:鸿蒙系统开发工具与环境

文章目录 系列文章硬件与软件需求DevEco Studio扩展工具与框架开发资源系列文章 鸿蒙应用开发系列 篇一:鸿蒙系统概述 鸿蒙应用开发系列 篇二:鸿蒙系统开发工具与环境 (系列计划预告) 鸿蒙系统UI/UX设计 鸿蒙系统应用开发基础 鸿蒙系统高级开发技术 鸿蒙系统特色功能开发 …...

“A”分心得:我的云计算HCIE学习之路

大家好&#xff0c;我是誉天云计算HCIE周末班梁同学&#xff0c;在誉天老师和同学们的帮助下&#xff0c;我终于在4月24日顺利通过了云计算3.0 HCIE的认证考试&#xff0c;而且获得了A&#xff0c;这是让我特别惊喜的&#xff0c;功夫不负有心人。 我日常的工作是网络运维&…...

现代信号处理8_递归的最小二乘(CSDN_20240505)

递归的最小二乘大约出现在50年前。递归&#xff0c;就是在已经算出的结果的基础下&#xff0c;当新的数据到来时&#xff0c;不需要再对数据进行一次完整的运算&#xff0c;而是在已有结果的基础上做一些简单的调整&#xff0c;就能得到新的结果。使用递归的好处&#xff1a; …...

2024年全国保密宣传教育月的主题是()。A.贯彻落实保密法。你我都是护密人B.国家利益高于一切,保密责任重于泰山C.筑牢保密防线,维护国家安全

2024年全国保密宣传教育月的主题是()。点击查看答案 A.贯彻落实保密法。你我都是护密人B.国家利益高于一切&#xff0c;保密责任重于泰山 C.筑牢保密防线&#xff0c;维护国家安全D.共筑保密防线&#xff0c;公民人人有责 坚持不懈开展保密宣传教育&#xff0c;是保密工作实…...

一个通过照片识别地理位置的应用

一个通过照片识别地理位置的应用 引言 最近发现一个能根据照片进行地理位置判定的应用&#xff0c;在全球范围内能够非常准确地进行空间位置识别。我分3个尺度进行了测试&#xff0c;分别是城市街景&#xff08;来源google和腾讯街景&#xff09;、野外街景和我自己拍摄的照片…...

wordpress外贸独立站建站10要10不要

创建一个成功的WordPress外贸独立站需要注意很多因素。以下是zhanyes根据多年建站经验总结的wordpress外贸独立站建站的10个建议和10个避免的事项&#xff0c;以帮助您建立一个高质量的外贸网站&#xff1a; 10个要&#xff1a; 1. 要选择合适的域名&#xff1a;确保您的域名…...

搬运5款小众,无广告,实用性拉满的软件

​ 你是否喜欢一些小众且无广告的软件&#xff1f;如果是的话&#xff0c;我这边有一些给你推荐的。 1.屏幕录制——OBS Studio ​ OBS Studio是一款广泛使用的实时流媒体和屏幕录制软件&#xff0c;适用于Windows、MacOS、Linux平台。它采用C、C和Qt编写&#xff0c;提供高质…...

TCP重传,滑动窗口,流量控制,拥塞控制

TCP重传&#xff0c;滑动窗口&#xff0c;流量控制&#xff0c;拥塞控制 TCP重传机制&#xff1a; 超时重传快速重传SACKD-SACK 通过序列号与确认应答判断是否要重传 超时重传&#xff1a; 超过指定时间没有收到确认应答报文&#xff0c;就会重发该数据 触发超时重传的情况…...

云手机对出海企业有什么帮助?

近些年&#xff0c;越来越多的企业开始向海外拓展&#xff0c;意图发掘更广阔的市场。在这过程中&#xff0c;云手机作为一个新型工具为很多企业提供了助力&#xff0c;尤其在解决海外市场拓展过程中的诸多挑战方面发挥着作用。 首先&#xff0c;云手机的出现解决了企业在海外拓…...

Android Studio实现简单的自定义钟表

项目目录 一、项目概述二、开发环境三、详细设计3.1、尺寸设置3.2、绘制表盘和指针3.3、动态效果 四、运行演示五、总结展望六、源码获取 一、项目概述 在安卓开发中&#xff0c;当系统自带的View已经无法满足项目需求时&#xff0c;就要自定义View。在Android中是没有与钟表有…...

C语言 举例说明循环嵌套

今天 我们来说循环的嵌套 如果一个循环体内 又包含了另一个循环结构 我们称之为循环的嵌套 我们之前学的 While do-while for 都可以进行相互的嵌套 如下图 在 While 循环语句中再嵌套一个 While 循环语句 do-while 中嵌套 do-while for中嵌套 for 例如 我们做一个九九乘法…...

一、ESP32基础知识

1、乐鑫产品线 系列特点ESP8266无ESP32无ESP32-S2无ESP32-C3无ESP32-S3无ESP32-C2/ESP8684无ESP32-C6无ESP32-H2无 2、开发方式 2.1、ESP-IDF (1)面向专业开发者。乐鑫官方开发框架&#xff0c;专门为ESP32系列芯片设计。支持C/C语言&#xff0c;并提供一套完整的API&#…...

我希望未来10年,人工智能可以帮我解决这4件小事

生活在一线大城市的我&#xff0c;现在几乎整天被大数据、人工智能、机器学习、智慧生活的词汇环绕立体包围着&#xff0c;让我时刻感觉到&#xff0c;再过10年&#xff0c;我们五一假期真的可以摆脱现在擦肩接踵的旅游盛况了。但我其实要求倒是没这么高&#xff0c;我真心希望…...

使用jdbc方式操作ClickHouse

1、创建测试表&#xff0c;和插入测试数据 create table t_order01(id UInt32,sku_id String,total_amount Decimal(16,2),create_time Datetime ) engine MergeTreepartition by toYYYYMMDD(create_time)primary key (id)order by (id,sku_id);insert into t_order01 values …...

百面算法工程师 | 支持向量机——SVM

文章目录 15.1 SVM15.2 SVM原理15.3 SVM解决问题的类型15.4 核函数的作用以及特点15.5 核函数的表达式15.6 SVM为什么引入对偶问题15.7 SVM使用SGD及步骤15.8 为什么SVM对缺失数据敏感15.9 SVM怎么防止过拟合 欢迎大家订阅我的专栏一起学习共同进步 祝大家早日拿到offer&#x…...

关于YOLO8学习(一)环境搭建,官方检测模型部署到手机

一,环境的搭建 环境 win10 python 3.11 cmake pytorch pycharm 过程 首先安装好一个pycharm,这里就不一一叙述了。 其次,选择好一个python版本,是关键所在。有些YOLO的版本,并不支持很高的python版本,博主选用的是python3.11版本。经过实际的测试,这个版本比较合适。…...

基于CircuitPython与BLE的智能振动腕带:从硬件选型到代码实现

1. 项目概述&#xff1a;打造你的智能触觉腕上伴侣如果你和我一样&#xff0c;经常被淹没在手机通知的海洋里&#xff0c;或者在专注工作时完全忘记了时间&#xff0c;那么这个项目可能就是为你量身定做的。今天&#xff0c;我们来动手制作一个基于CircuitPython和蓝牙低功耗&a…...

告别Arduino IDE:在Visual Studio Code中搭建高效Arduino开发环境

1. 为什么选择VS Code开发Arduino项目 第一次接触Arduino开发时&#xff0c;大多数人都是从官方Arduino IDE开始的。这个简单的开发环境确实能快速上手&#xff0c;但随着项目复杂度增加&#xff0c;它的局限性就越来越明显&#xff1a;代码补全功能弱、项目管理混乱、调试工具…...

离开Meta后田渊栋官宣创业,估值达46.5亿美元;17个小时谈判破裂,三星电子5万名员工或将罢工;微软纳德拉官宣MDASH框架 | 极客头条

「极客头条」—— 技术人员的新闻圈&#xff01;CSDN 的读者朋友们好&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。&#xff08;投稿或寻求报道&#xff1a;zhanghycsdn.net&#xff09;整理 | 郑丽媛出品 | CSDN&#xff08;I…...

C加加开发者如何通过Taotoken快速接入多模型API服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 C开发者如何通过Taotoken快速接入多模型API服务 1. 场景与需求 在C后端服务中集成大模型能力时&#xff0c;开发者常面临几个实际…...

明日方舟游戏资源库:一站式高清素材解决方案

明日方舟游戏资源库&#xff1a;一站式高清素材解决方案 【免费下载链接】ArknightsGameResource 明日方舟客户端素材 项目地址: https://gitcode.com/gh_mirrors/ar/ArknightsGameResource 还在为创作明日方舟同人内容却找不到高质量素材而烦恼吗&#xff1f;想要开发明…...

基于多模态视觉模型和图文向量模型的工业图像知识库研究与应用

目录1 概述... 12 单一模型分析的局限性... 23 多模态视觉模型和图文向量模型的优势... 34 多模态视觉模型和图文向量模型应用场景... 45 多模态视觉模型和图文向量模型原理... 46 多模态视觉模型和图文向量模型应用... 86.1 图片知识库... 86.2 检索图片... 117.总结... 13…...

ClawGuardian:AI生成内容滥用检测与防御实战指南

1. 项目概述与核心价值 最近在AI安全领域&#xff0c;一个名为“ClawGuardian”的项目引起了我的注意。这个项目由superglue-ai团队开源&#xff0c;定位非常明确&#xff1a;一个专注于检测和防御AI生成内容&#xff08;AIGC&#xff09;滥用的工具。简单来说&#xff0c;它就…...

告别命令行恐惧!Mac上这款Fork Git客户端,让代码提交像聊天一样简单

告别命令行恐惧&#xff01;Mac上这款Fork Git客户端&#xff0c;让代码提交像聊天一样简单 第一次接触Git时&#xff0c;面对黑底白字的终端窗口输入git commit -m "fix bug"的场景&#xff0c;很多人都会感到一阵眩晕。命令行就像一堵高墙&#xff0c;把非计算机科…...

在微控制器上实现256色游戏:CircuitPython图形优化与性能调优

1. 项目概述&#xff1a;在微控制器上复活经典如果你和我一样&#xff0c;对上世纪90年代那些运行在Windows 3.1上的经典瓷砖谜题游戏&#xff08;Tile-based Puzzle Game&#xff09;有特殊感情&#xff0c;同时又对在资源受限的嵌入式硬件上实现复杂图形心有不甘&#xff0c;…...

Windows系统自动化配置解决方案:WinUtil实战指南

Windows系统自动化配置解决方案&#xff1a;WinUtil实战指南 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 在当今数字化工作环境中&#xf…...