PyQt5零基础入门(二)——QLabel控件

2024-01-11 14:20

本文主要是介绍PyQt5零基础入门(二)——QLabel控件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

QLabel控件可以视为是一个标签项,具有显示文本、图像的作用。在本篇文章中将介绍QLabel控件的常见用法。

例子

显示文本

import sys
from PyQt5.QtWidgets import *if __name__ == "__main__":app = QApplication([])label = QLabel('Hello world!')label.show()sys.exit(app.exec())

在上述例子中,创建QLabe类的初始化时传入一个Hello world!字符串。

运行结果如下:
在这里插入图片描述

嵌入HTML代码

对于QLabel来说,有两种方式可以嵌入HTML代码,其一是直接在类的实例化中将输入的字符串换成HTML代码,另外一种是在实例化成功后调用setText方法设置QLabel的显示文字。其参数的传入方式与传入字符串时并没有什么区别。
实例化时传入HTML

import sys
from PyQt5.QtWidgets import *if __name__ == "__main__":app = QApplication([])label = QLabel("<h1>Hello, PyQt!</h1>")label.show()sys.exit(app.exec_())

使用setText传入HTML

import sys
from PyQt5.QtWidgets import *if __name__ == "__main__":app = QApplication([])label = QLabel()label.setText("<h1>Hello, PyQt!</h1>")label.show()sys.exit(app.exec_())

如果需要读入完整的HTML文件,可以通过python标准库中读入文件的方式先以字符串形式读入HTML文件,再将读入的字符串传入QLabel控件

假设我们有以下名为test.html的HTML文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello, PyQt!</title>
</head>
<body><h1>I love PyQt.</h1>
</body>
</html>

读入并设置的方式如下:

import sys
from PyQt5.QtWidgets import *if __name__ == "__main__":app = QApplication([])label = QLabel()with open("test.html", 'r', encoding='utf-8') as f:label.setText(f.read())label.show()sys.exit(app.exec_())

执行后效果如下
在这里插入图片描述
可以看到虽然能够显示HTML中<body>内的内容,但是丢失了<head>中的内容。

文本自适应

有时输入的文本会与QLabel的大小不匹配,为了解决这一问题,可以将setWordWrap设置为True,这样输入的文本就会自适应的在QLabel控件中布局。

from PyQt5.QtWidgets import *
import sysclass Window(QWidget):def __init__(self):super().__init__()label = QLabel("I like PyQt very much! what about you?", self)label.setWordWrap(True)  # 单词自适应if __name__ == "__main__":app = QApplication([])win = Window()win.show()sys.exit(app.exec())

运行结果如下:
在这里插入图片描述

可以看到QLabel的文本完成了自适应换行

在类中创建

上述的例子中,我们只考虑了一个QLabel对象的情况,当需要创建多个QLabel时,不免会有人想到以下做法

import sys
from PyQt5.QtWidgets import *if __name__ == "__main__":app = QApplication([])label1 = QLabel("label1")label2 = QLabel("label2")label1.show()label2.show()sys.exit(app.exec())

但是这样的结果是会弹出两个窗口
在这里插入图片描述
正确的做法是在类中创建

import sys
from PyQt5.QtWidgets import *class Window(QWidget):def __init__(self):super().__init__()label_1 = QLabel("Label1", self)label_2 = QLabel("Label2", self)if __name__ == "__main__":app = QApplication([])window = Window()window.show()sys.exit(app.exec())

在上面的代码中创建了一个继承自QWidget类的子类Window,在Window中创建两个QLabel对象,这样就可以实现同时存在两个QLabel对象了。
在这里插入图片描述
但是我们可以很明显的看出来,两个控件叠在一起了,这是因为这种方式没有考虑布局的问题,我们将在下一篇文中介绍布局的具体用法。

这篇关于PyQt5零基础入门(二)——QLabel控件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/594659

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP