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

从零开始的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.pswp.cn/pingmian/83163.shtml

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

相关文章

论文略读:Uncertainty-Aware Graph Structure Learning

WWW 2025 1 intro 传统GNN忽视了图结构自身存在的缺陷: 图结构常常会出现错误边和缺失边等数据问题&#xff0c;从而限制模型的效果 —>为了解决上述问题&#xff0c;产生了图结构学习算法&#xff08;GSL&#xff09; 目的在于优化结点连接和边权重来生成新的邻接矩阵主流…

HCIE-STP复习

文章目录 STP STP &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Datacom专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年05月31日13点17STP通过三要素选举消除环路&#xff1a; 根桥&#xff08;BID最小&#xff0c;建议设优先级为0&…

leetcode17.电话号码的字母组合:字符串映射与回溯的巧妙联动

一、题目深度解析与字符映射逻辑 题目描述 给定一个仅包含数字 2-9 的字符串 digits&#xff0c;返回所有它能表示的字母组合。数字与字母的映射关系如下&#xff08;与电话按键相同&#xff09;&#xff1a; 2: "abc", 3: "def", 4: "ghi", …

【Unity】模型渐变技术 BlendShapes变形

模型fbx拖拽到场景并赋予脚本上SkinnedMeshRenderer参数 按下空格即可演示渐变 可去到3DsMax 或 Blender等软件制作 这种带有BlendShapes的模型 (Sphere002)是另一个模型&#xff0c;3DsMax叫变形器。 可参考&#xff1a;【技术美术百人计划】美术 3.5 BlendShape基础_哔哩哔哩…

CTFHub-RCE 命令注入-无过滤

观察源代码 判断是Windows还是Linux 源代码中有 ping -c 4 说明是Linux 查看有哪些文件 127.0.0.1|ls 发现除了index.php文件外&#xff0c;还存在一个可疑的文件 打开flag文件 我们尝试打开这个文件 127.0.0.1|cat 19492844826916.php 可是发现 文本内容显示不出来&…

DrissionPage ChromiumPage模式:浏览器自动化的高效利器

引言 在Python自动化领域&#xff0c;Selenium与Requests是开发者耳熟能详的工具&#xff0c;但二者在功能侧重上存在明显割裂。DrissionPage的出现打破了这一局面&#xff0c;其创新的ChromiumPage模式通过整合浏览器自动化与HTTP请求能力&#xff0c;为网页操作提供了全新解…

uniapp分包配置,uniapp设置subPackages

在使用uniapp开发过程中&#xff0c;由于项目比较大&#xff0c;无法直接上传&#xff0c;需要分包后才可以上传。 步骤&#xff1a; 1、在pages同级目录下创建分包的目录&#xff08;pages_second&#xff09;&#xff0c;把要分包的文件放到该目录下&#xff1b; 2、在pag…

零基础一站式端游内存辅助编写教程(无密)

目录如下&#xff1a; 基础理论篇 内存基础概念&#xff08;如内存地址、数据类型、读写原理&#xff09;端游内存机制简介&#xff08;游戏进程与内存分配&#xff09; 工具与环境搭建 常用内存分析工具介绍&#xff08;如 Cheat Engine、x64dbg 等&#xff09;开发环境配…

汽车售后诊断数据流详细分析

一、引言 随着汽车电子化程度的不断提升&#xff0c;电控系统已成为车辆运行的核心支撑。据罗兰贝格 2025 年智能汽车白皮书数据显示&#xff0c;中央计算 区域控制架构&#xff08;Zonal EEA&#xff09;的普及率已突破 58%&#xff0c;推动整车线束成本下降 41%12。与此同时…

智能守护电网安全:探秘输电线路测温装置的科技力量

在现代电力网络的庞大版图中&#xff0c;输电线路如同一条条 “电力血管”&#xff0c;日夜不息地输送着能量。然而&#xff0c;随着电网负荷不断增加&#xff0c;长期暴露在户外的线路&#xff0c;其线夹与导线在电流热效应影响下&#xff0c;极易出现温度异常。每年因线路过热…

设计模式——单例设计模式(创建型)

摘要 本文详细介绍了单例设计模式&#xff0c;包括其定义、结构、实现方法及适用场景。单例模式是一种创建型设计模式&#xff0c;确保一个类只有一个实例并提供全局访问点。其要点包括唯一性、私有构造函数、全局访问点和线程安全。文章还展示了单例设计模式的类图和时序图&a…

Lyra学习笔记 Experience流程梳理

目录 前言1 创建2 加载3 Deactivate4 总结与图示 前言 这篇主要将视角放在Experience的流程&#xff0c;所以不会涉及一些更深的东西 之后ULyraExperienceManagerComponent简称为EMC 1 创建 完事开头难&#xff0c;首先找到了管理Experience的组件&#xff0c;那么它的初始化…

Ubuntu下编译mininim游戏全攻略

目录 一、安装mininim 软件所依赖的库&#xff08;重点是allegro游戏引擎库&#xff09;二、编译mininim 软件三、将mininim打包给另一个Ubuntu系统使用四、安卓手机运行mininim 一、安装mininim 软件所依赖的库&#xff08;重点是allegro游戏引擎库&#xff09; 1. 用apt-get…

SMT贴片制造流程关键环节解析

内容概要 现代电子制造领域中&#xff0c;SMT&#xff08;表面贴装技术&#xff09;作为核心工艺&#xff0c;其流程的精密性与稳定性直接决定产品性能与生产良率。本文以SMT贴片制造流程为主线&#xff0c;系统解析焊膏印刷、元器件贴装、回流焊接三大核心工艺的技术要点。其…

HTTP/2与HTTP/3特性详解:为你的Nginx/Apache服务器开启下一代Web协议

更多服务器知识&#xff0c;尽在hostol.com 嘿&#xff0c;各位站长和服务器管理员朋友们&#xff01;咱们天天跟网站打交道&#xff0c;都希望自己的网站能像火箭一样快&#xff0c;用户体验“嗖嗖”的。但你知道吗&#xff1f;除了服务器硬件配置、代码优化、CDN加速这些“常…

pytest 常见问题解答 (FAQ)

pytest 常见问题解答 (FAQ) 1. 基础问题 Q1: 如何让 pytest 发现我的测试文件&#xff1f; 测试文件命名需符合 test_*.py 或 *_test.py 模式测试函数/方法需以 test_ 开头测试类需以 Test 开头(且不能有__init__方法) Q2: 如何运行特定测试&#xff1f; pytest path/to/t…

【前端】SPA v.s. MPA

链接&#xff1a;页面结构 误区 页面结构管理有两种常见方式&#xff1a;路由形式 和 组件形式。路由形式 对应MPA &#xff0c;组件形式对应SPA ❌ 误区 1&#xff1a;路由形式 MPA❌ 路由是 SPA 和 MPA 共有的概念&#xff0c;区别在于路由映射的对象&#xff1a; MPA 的…

Matlab数据类型

本篇介绍我在南农matlab课程上的所学&#xff0c;我对老师ppt上的内容重新进行了整理并且给出代码案例。主要内容在矩阵。如果真的想学matlab&#xff0c;我不认为有任何文档能够超过官方文档&#xff0c;请移步至官网&#xff0c;本篇说实话只是写出来给自己和学弟学妹作期末复…

代码随想录算法训练营 Day58 图论Ⅷ 拓扑排序 Dijkstra

图论 题目 117. 软件构建 拓扑排序&#xff1a;给出一个有向图&#xff0c;把这个有向图转成线性的排序就叫拓扑排序。 当然拓扑排序也要检测这个有向图是否有环&#xff0c;即存在循环依赖的情况&#xff0c;因为这种情况是不能做线性排序的。所以拓扑排序也是图论中判断有向…

vscode中launch.json、tasks.json的作用及实例

文章目录 launch.json是什么作用多环境调试简单实例进阶使用核心配置项解析调试第三方程序 launch.json是什么 顾名思义&#xff1a;它是在.vscode文件夹下的launch.json&#xff0c;所以是vscode启动调试的配置文件。总结&#xff1a;通过定义调试参数、环境变量和启动方式&a…