【PyQt5】从零开始的PyQt5 - QLabel篇

article/2025/8/10 4:38:09

从零开始的PyQt5 - QLabel篇

  • 引言
  • 一、简述
  • 二、例程
    • 2.1 显示到QWidget窗口上
    • 2.2 重新设置Label大小和对齐方式
    • 2.3 添加内容,设置边框
    • 2.4 显示富文本
  • 三、参考

引言

QLabel主要用于显示文本或图像,不提供用户交互功能。本文主要简述PyQt5中的QLabel以及展示常用例程。

一、简述

QLabel可以包含以下任何内容类型:

内容设置方法
普通文本调用setText(),传递QString
富文本调用setText(),传递包含富文本的QString
图片调用setPixmap(),传递QPixmap
动画调用setMovie(),传递QMovie
数字调用setNum(),传递intdouble,和setText类似
调用clear(),与空白纯文本相同
  1. QLable会尝试猜测输入的QString是以纯文本还是富文本,需确保输入格式正确,最好显式调用setTextFormat() (默认Qt::AutoText,可手动传递Qt::PlainTextQt::RichText)。
  2. 默认显示左对齐垂直居中的文本和图像,其中要显示的文本中的任何选项卡都会自动展开。其外观可以通过多种方式进行调整和微调。

二、例程

2.1 显示到QWidget窗口上

  • 效果展示
    在这里插入图片描述

  • 源码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel('Hello, QLabel!', self)  # 创建一个标签设置文本,添加到此窗口中 (父窗口设置为此窗口)label.setAlignment(Qt.AlignCenter)      # 文本居中对齐self.setGeometry(300, 300, 400, 100)    # 设置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.2 重新设置Label大小和对齐方式

  • 效果展示
    在这里插入图片描述

  • 源码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel('Hello, QLabel!', self)  # 创建一个标签设置文本,添加到此窗口中 (父窗口设置为此窗口)label.setAlignment(Qt.AlignBottom | Qt.AlignRight)      # 文本靠右下label.resize(300, 100)                  # 设置大小self.setGeometry(300, 300, 400, 100)    # 设置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.3 添加内容,设置边框

  • 效果展示
    在这里插入图片描述

  • 源码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QFrame
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel(self)  # 创建一个标签设置文本,添加到此窗口中 (父窗口设置为此窗口)label.setText("first line\nsecond line")  # 设置内容label.setAlignment(Qt.AlignCenter)  # 居中label.resize(300, 100)  # 设置大小self.setGeometry(300, 300, 400, 100)  # 设置窗口的布局label.setStyleSheet("QLabel {"  # 设置边框"  border: 2px solid red;""  border-radius: 5px;""}")self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

2.4 显示富文本

  • 效果展示
    在这里插入图片描述
  • 源码
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QFrame
from PyQt5.QtCore import Qtclass ExampleApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):label = QLabel(self)  # 创建一个标签设置文本,添加到此窗口中 (父窗口设置为此窗口)label.setText("<b>加粗</b> <i>斜体</i> <u>下划线</u>")  # 设置内容label.setAlignment(Qt.AlignCenter)    # 居中label.resize(300, 100)                # 设置大小self.setGeometry(300, 300, 400, 100)  # 设置窗口的布局self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = ExampleApp()sys.exit(app.exec_())

三、参考

【Qt笔记】QLabel控件详解:https://blog.csdn.net/qq_52924376/article/details/141430178
PyQt5深入解析:QLabel的灵活多变:https://blog.csdn.net/babybin/article/details/135775452
PyQt5控件介绍【标签控件】-QLabel:https://zhuanlan.zhihu.com/p/677135910


http://www.hkcw.cn/article/xFTspLKSsq.shtml

相关文章

Microsoft Rewards——微软免费发钱!

Microsoft Rewards 是微软推出的用于推广其搜索引擎 Bing 的一项服务&#xff0c;用户只需要使用 Bing 进行任何搜索&#xff0c;就可以获得对应积分&#xff0c;可以兑换礼品卡等奖励。 ps&#xff1a;Bing本来就是中国大陆最好的搜索引擎。 举例&#xff1a;假设将 Bing 最为…

基于python的天气可视化系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

设计模式——组合设计模式(结构型)

摘要 组合设计模式是一种结构型设计模式&#xff0c;用于将对象组合成树形结构以表示“部分-整体”的层次结构&#xff0c;使客户端对单个对象和组合对象具有一致的访问方式。它包含抽象组件、叶子节点和组合节点&#xff0c;具有统一处理、支持递归结构和易扩展等优点&#x…

Launcher3体系化之路

&#x1f44b; 欢迎来到Launcher 3 背景 车企对于桌面的排版布局好像没有手机那般复杂&#xff0c;但也有一定的需求。部分场景下&#xff0c;要考虑的上下文比手机要多一些&#xff0c;比如有如下的一些场景&#xff1a; 手车互联。HiCar&#xff0c;CarPlay&#xff0c;An…

pikachu通关教程- over permission

如果使用A用户的权限去操作B用户的数据&#xff0c;A的权限小于B的权限&#xff0c;如果能够成功操作&#xff0c;则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。 水平越权 当我们以Lucy账号登录&#xff0c;查询个人信息时&#xff0c;会有…

刷leetcode hot100--矩阵6/1

1.螺旋矩阵【很久】6/1【感觉就是思路的搬运工&#xff0c;没完全理解】 54. 螺旋矩阵 - 力扣&#xff08;LeetCode&#xff09; 原来想 但是如果是奇数矩阵&#xff0c;遍历不到中间 解决思路&#xff1a; 用left,right,top,down标记/限定每次遍历的元素&#xff0c;每次从…

Redis最佳实践——秒杀系统设计详解

基于Redis的高并发秒杀系统设计&#xff08;十万级QPS&#xff09; 一、秒杀系统核心挑战 瞬时流量洪峰&#xff1a;100万 QPS请求冲击库存超卖风险&#xff1a;精准扣减防止超卖系统高可用性&#xff1a;99.99%服务可用性要求数据强一致性&#xff1a;库存/订单/支付状态同步…

搭建基于VsCode的ESP32的开发环境教程

一、VsCode搜索ESP-IDF插件 根据插件处搜索找到ESP-IDF并安装 安装完成 二、配置安装ESP-IDF 配置IDF 按照如下配置&#xff0c;点击安装 安装完成 三、使用案例程序 创建一个闪光灯的例子程序&#xff0c;演示程序编译下载。 选择blink例子&#xff0c;闪烁LED的程序 选…

实现RabbitMQ多节点集群搭建

目录 引言 一、环境准备 二、利用虚拟机搭建 ​ 三、镜像集群配置 四、HAProxy实现负载均衡(主用虚拟机操作) 五、测试RabbitMQ集群搭建情况 引言 在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;扮演着至关重要的角色,而 RabbitMQ 作为…

B站视频下载器 v1.0.4|免登录下载1080P视频

核心亮点 ✅ 无需登录下载1080P高清视频✅ 支持Windows/macOS双平台✅ 纯净无广告完全免费✅ 可单独下载视频/音频/弹幕/字幕/封面 三步极简操作 粘贴B站视频链接选择保存位置点击「开始下载」 特色功能 独立下载选项&#xff08;视频/音频/弹幕/字幕/封面&#xff09;登录…

LLM-MPC混合架构:车载大语言模型用来增强自动驾驶系统

1. 概述 2025年&#xff0c;苏黎世研究团队在RSS2025会议上正式提出「LLM-MPC混合架构」&#xff0c;标志着大语言模型&#xff08;LLM&#xff09;在自动驾驶系统中的实用化迈出关键一步。该方案旨在解决传统深度学习模型在极端交通场景中泛化能力不足的问题。通过在车载终端…

leetcode-hot-100 (矩阵)

1、矩阵置零 题目链接&#xff1a;矩阵置零 题目描述&#xff1a;给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 解答 方法一&#xff1a;使用一个二维数组 这是我看到这道题目的第一个想法&am…

黑马Java面试笔记之Redis篇(分布式锁)

面试题 我看你做的项目中&#xff0c;都用到了redis&#xff0c;你在最近的项目中那些场景使用了redis呢 如果回答了分布式锁&#xff0c;那么就会有以下这个问题 redis分布式锁&#xff0c;是如何实现的&#xff1f; 需要结合项目中的业务进行回答&#xff0c;通常情况下&…

建筑兔零基础python自学记录102|Beautiful Soup库(1)-15

1、安装Beautiful Soup 2、使用测试网页获取源代码 This is a python demo page a)法1&#xff1a;直接网页右键获取 b)法2&#xff1a;request库 import requests rrequests.get(https://python123.io/ws/demo.html) print(r.text) 3、使用Beautiful Soup库 同样解析出了源…

【Java学习笔记】枚举

枚举(enum) 一、基本介绍 引出关键字&#xff1a;enum&#xff0c;全称为enumerate 枚举是一组常量集合 理解&#xff1a;枚举属于一种特殊的类&#xff0c;里面只包含一组有限的特定的对象 二、使用场景 当一个类的属性有限定条件时&#xff08;例如一个星期只能有七天&…

FFmpeg学习笔记

1. 播放器的架构 2. 播放器的渲染流程 3. ffmpeg下载与安装 3.0 查看PC是否已经安装了ffmpeg ffmpeg 3.1 下载 wget https://ffmpeg.org/releases/ffmpeg-7.0.tar.gz 3.2 解压 tar zxvf ffmpeg-7.0.tar.gz && cd ./ffmpeg-7.0 3.3 查看配置文件 ./configure …

buuctf-web

[极客大挑战 2019]Havefun 控制台检查代码修改url [极客大挑战 2019]EasySQL 密码输入 出现 sql输入错误 判断为 单引号注入 [ACTF2020 新生赛]Include 点击提示出现?file说明是文件包含问题 构造url filephp://filter/readconvert.base64-encode/resourceflag.php php:…

SAR ADC 异步逻辑设计

SAR ADC的逻辑是重要的一个模块&#xff0c;可以分为同步逻辑和异步逻辑&#xff0c;对于低速SAR ADC&#xff0c;一般采用同步逻辑&#xff0c;对于高速SAR ADC&#xff0c;一般采用异步逻辑。 这里讲一下异步逻辑的设计&#xff0c;异步逻辑一般不需要外部时钟&#xff08;当…

广告拦截器:全方位拦截,畅享无广告体验

在数字时代&#xff0c;广告无处不在。无论是浏览网页、使用社交媒体&#xff0c;还是观看视频&#xff0c;广告的频繁弹出常常打断我们的体验&#xff0c;让人不胜其烦。更令人担忧的是&#xff0c;一些广告可能包含恶意软件&#xff0c;威胁我们的设备安全和个人隐私。AdGuar…

MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)

摘要 预训练的VLMs,对于跨任务的迁移学习至关重要&#xff0c;然而&#xff0c;在few-shot数据集上微调会导致过拟合&#xff0c;降低在新任务上的性能。为解决这个问题&#xff0c;提出一种新的多模态表征学习框架&#xff08;MMRL&#xff09;,该框架引入了一个共享、可学习…