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);
}

在这里插入图片描述

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

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

相关文章

领鸡蛋游戏养鸡游戏淘宝客源码广告联盟功能介绍

领鸡蛋游戏功能介绍 核心功能 用户鸡蛋数量 玩家在游戏中会累积一定数量的鸡蛋&#xff0c;这些鸡蛋可以通过完成任务、签到、邀请好友等方式获得。鸡蛋数量直接关联到玩家的游戏进度和奖励。足迹 足迹功能展示用户的饲料明细&#xff0c;包括饲料的获取方式、数量以及时间等…

公司数据防泄漏方案分享|防泄密软件有哪些

企业的数据安全是公司稳定发展的必要条件&#xff0c;如何防止内部数据泄露企业的数据安全是公司稳定发展的必要条件&#xff0c;如何防止内部数据泄露已经成为了一个亟待解决的问题。在这个信息时代&#xff0c;数据已经成为企业最重要的资产之一&#xff0c;因此&#xff0c;…

AWS宣布推出Amazon Q :针对商业数据和软件开发的生成性AI助手

亚马逊网络服务&#xff08;AWS&#xff09;近日宣布推出了一项名为“Amazon Q”的新服务&#xff0c;旨在帮助企业利用生成性人工智能&#xff08;AI&#xff09;技术&#xff0c;优化工作流程和提升业务效率。这一创新平台的推出&#xff0c;标志着企业工作方式的又一次重大变…

机械类外文 翻译

随着科技的日新月异&#xff0c;机械工程领域也在不断蜕变&#xff0c;为了更好地与世界接轨&#xff0c;对外文资料的准确翻译显得尤为重要。那么&#xff0c;那么&#xff0c;关于机械类的外文翻译&#xff0c;如何保证译文的质量&#xff0c;哪个翻译公司在北京更为专业呢&a…

密码学《图解密码技术》 记录学习 第十五章

目录 十五章 15.1本章学习的内容 15.2 密码技术小结 15.2.1 密码学家的工具箱 15.2.2 密码与认证 15.2.3 密码技术的框架化 15.2.4 密码技术与压缩技术 15.3 虚拟货币——比特币 15.3.1 什么是比特币 15.3.2 P2P 网络 15.3.3地址 15.3.4 钱包 15.3.5 区块链 15.3.…

安装Nox夜神模拟器关闭了HyperV后Docker运行不了怎么办?

1.背景 为了模拟真机&#xff0c;尝试安装了Nox夜神模拟器&#xff0c; 安装过程要求关闭Hyper-V。当时只是在程序安装卸载中关闭了系统服务。以为到时勾选上就好了。操作路径&#xff1a;控制面板\所有控制面板项\程序和功能\启用或关闭Windows功能\Hyper-V。 后来卸载掉了夜神…

【一起深度学习——NIN】

NIN神经网络 原理图&#xff1a;代码实现&#xff1a;输出结果&#xff1a; 原理图&#xff1a; 代码实现&#xff1a; import torch from torch import nn from d2l import torch as d2ldef nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.…

零基础自学网络安全/Web安全(超详细入门到进阶)学完即可就业(含学习笔记)

一、为什么选择网络安全&#xff1f; 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入…

深度学习之基于Matlab特征匹配的手写电话号码、数字识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在信息化日益发展的今天&#xff0c;手写电话号码和数字的识别技术显得尤为重要。这种技术不仅能够提…

绝地求生:PUBG杜卡迪联名进入倒计时3天!

大家好&#xff0c;我是闲游盒。 杜卡迪联名已经进入倒计时3天&#xff01;喜欢的朋友要注意结束时间可千万别错过&#xff01; 杜卡迪6色车辆 随着五一小长假的结束&#xff0c;本次混沌漫彩通行证也即将结束&#xff0c;本次通行证31级之后没升1级可额外领取1500BP和挑战者纪…

【Stream 流】通过一个例子看遍所有Stream API使用场景

前言 上篇文章记录了方法引用&#xff0c;Lambda表达式等基础的知识点&#xff0c;这篇文章主要结合课设项目详细介绍Stream 流的API以及它的主要场景。 Stream API作用 在Java 8及其以后的版本中&#xff0c;Stream API为处理集合数据提供了强大而灵活的功能。有了Stream AP…

普乐蛙元宇宙VR体验馆设备集体亮相VR文旅景区展

普乐蛙全国巡展又双叒叕开始了! 这次来到的是“好客山东”↓↓ 山东2024休闲旅游产业展 4月25日至27日&#xff0c;2024休闲旅游产业展在临沂国际博览中心举办。本次展会以“潮购文旅好品&#xff0c;乐享时尚生活”为主题&#xff0c;汇聚全国文旅产业上下游500多家企业、上万…

武汉理工大学python123实验——流程控制结构

1.百分制成绩转换五分制#1707 n int(input())if n>90:print(A) elif n>80:print(B) elif n>70:print(C) elif n>60:print(D) else:print(E) 2.角古猜想#73963 n eval(input()) if n<0:print(ERROR) elif . in str(n):print(ERROR) else:print(n,end" …

idea无法识别加载pom.xml文件

有时idea无法识别加载pom.xml文件&#xff0c;直接打开pom.xml文件&#xff0c;然后添加到maven就行

新品宣传如何做好网络媒体推广+

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新品宣传在网络媒体推广中&#xff0c;可以按照以下步骤进行&#xff1a; 产品预热 目标&#xff1a;提高潜在顾客的期待感和好奇心。 方法&#xff1a; A.发布软文&#xff1a;在各大平…

平滑 3d 坐标

3d平滑 import torch import torch.nn.functional as F import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3Dclass SmoothOperator:def smooth(self, vertices):# 使用一维平均池化进行平滑vertices_smooth F.avg_pool1d(vertices.p…

如何开发自己的深度学习优化算法

深度学习优化算法 如何开发自己的深度学习优化算法理解优化算法的基础**核心组件**&#xff1a; 设计自定义优化算法的步骤**步骤 1: 定义问题和目标****步骤 2: 研究现有算法****步骤 3: 开发初步想法****步骤 4: 创建原型****步骤 5: 系统测试与优化** 关键建议 如何开发自己…

暖心又实用!母亲节教会妈妈这4招才是最贴心的礼物

母亲节就要到了&#xff0c;这个特殊的日子&#xff0c;我们总是想要为妈妈送上最真挚的祝福和关怀。在这个数字化时代&#xff0c;一部智能手机就能成为我们表达爱意的桥梁。今天&#xff0c;就让我们一起来看看华为手机的四个功能&#xff0c;让妈妈的手机使用体验更加便捷、…

版本前瞻 | FASS2.2即将上线,6大亮点公布

自FASS上一版本发布已经过去了整整四个月。在这期间&#xff0c;FASS经历了很多重要项目的考验&#xff0c;也收到了用户很多宝贵的建议。经过几个月的开发和打磨完善&#xff0c;最新版本的FASS2.2终于要和大家见面了&#xff0c;针对存储系统配置使用复杂、运维监控粗放等痛点…

Unity初级---初识生命周期

1. Awake() &#xff1a;唤醒函数&#xff0c;最先执行的函数&#xff0c;只执行一次&#xff0c;当脚本文件挂载的对象被激活时调用 2. OnEnable() &#xff0c;OnDisable()&#xff1a;当脚本启用和禁用时触发&#xff0c;可执行多次&#xff0c;触发的前提是脚本挂载的对象…