PySide2基础篇(二)——QLabel运用

PySide2基础篇(二)——QLabel运用

前言:
阅读这篇文章我能学到什么?
  我们知道做窗口应用程序最基础的是掌握控件的运用。QLabel就是PySide2中一个基础的控件,它可以用于可以显示文本、图像、视频。下面让我们开始学习它。

——如果你觉得这是一篇不错的博文,希望你能给一个小小的赞,感谢您的支持。

1 使用QLabel能做什么?

  Qt for Python模块中最基本的有三个模块:

  • Qt Core:提供核心的非GUI模块,列如信号和插槽,项目模型的基类,序列化等。
  • Qt GUI:通过GUI功能扩展QtCore:事件,窗口和屏幕,基于OpenGL和基于栅格的2D绘画以及图像。
  • Widgets 为您的应用程序提供随时可用的小部件,包括UI的图形元素。

  QLabel属于控件,因此它继承于模块Widgets

QtCore.QObject
QtGui.QPaintDevice
QtWidgets.QWidget
QtWidgets.QFrame
QtWidgets.QLabel

  QLabel用于显示文本、图像、视频,不具有交互功能。我们可以设置QLabel控件的外观等属性,比如大小、颜色、位置等。一般来说我们给其显示如下内容:

  • 纯文本
  • 富文本
  • 数值
  • 像素图
  • 动画

2 QLabel显示纯文本

2.1 创建一个QLabel

  函数原型:

QLabel(text [, parent = None [, f = Qt.WindowFlags()]])

param f
WindowFlags

param parent
QWidget

param text
unicode

  我们注意到其有参数text并且是可省略的。这个参数是设置QLabel控件创建后显示的初始文本,省略时内容为空。
代码示例:

from PySide2.QtWidgets import QApplication, QLabel

app = QApplication([])
Label = QLabel("初始文本")             #创建一个类QLabel的实例对象Label,设置初始显示字符串

Label.show()
app.exec_()

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

2.1 修改QLabel的文本内容

2.1.1 setText

  函数原型:

PySide2.QtWidgets.QLabel.setText(arg__1)

Parameters
arg__1 – TextFormat

  其只有一个参数用于传递要设置的文本内容。
  代码示例:

from PySide2.QtWidgets import QApplication, QLabel

app = QApplication([])
Label = QLabel("初始文本")             #创建一个类QLabel的实例对象Label,设置初始显示字符串
Label.setText("修改文本")              #调用方法,修改文本内容

Label.show()
app.exec_()

  运行结果:
在这里插入图片描述
  我们可以看到最终显示的是setText函数设置的文本。

  如果要显示其他数据类型如何操作呢?setText支持字符串的格式化显示。
代码示例:

from PySide2.QtWidgets import QApplication, QLabel

app = QApplication([])
Label = QLabel("初始文本")             #创建一个类QLabel的实例对象Label,设置初始显示字符串
Label.setText("%d, %f" % (10, 10.1))   #调用方法,修改文本内容

Label.show()
app.exec_()

运行结果:
在这里插入图片描述
  也支持python3新特性f-string格式的字符串作为参数。

2 QLabel显示富文本

  QLabelsetText等函数可以直接将富文本作为参数,并且QLabel控件将会呈现出富文本的渲染效果,字符串参数可以是单个引号形式也可以是python三引号形式。
代码示例:

from PySide2.QtWidgets import QApplication, QLabel

app = QApplication([])
Label = QLabel()
Label.setText("<font size=20 color=red>第一行</font>")              #使用html富文本

Label.show()
app.exec_()

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

3 QLabe显示数值

  提供了直接用于显示数值的方法setNum该方法可以显示显示singed int即有符号4字节的整数或浮点数。
  代码示例:

from PySide2.QtWidgets import QApplication, QLabel

app = QApplication([])
Label = QLabel()
Label.setNum(999999999999.9)

Label.show()
app.exec_()

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

4 QLabe显示图片

  QLabel提供了方法setPixmap使得QLabel能显示像素图像。
函数原型:

PySide2.QtWidgets.QLabel.setPixmap(arg__1)

Parameters
arg__1 – QPixmap

  参数为QPixmap,这是一个关于像素图的类。我们需要先实例化它的对象,并给构造函数传入像素图的路径即可,随后将实例化的对象传递给setPixmap方法用于显示。
代码示例:

from PySide2.QtWidgets import QApplication, QLabel
from PySide2.QtGui import QPixmap

app = QApplication([])
Label = QLabel()

PixMap = QPixmap("./png/PixMap.jpg")            #注意不要把这行放到实例化app对象的上面,会无效
Label.setPixmap(PixMap)

Label.show()
app.exec_()

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

5 QLabe显示动画

  QLabel提供了方法setMovie使得QLabel能显示动画。
函数原型:

PySide2.QtWidgets.QLabel.setMovie(movie)

Parameters
movie – QMovie

  参数为QMovie,是关于视频的类。我们需要先实例化它的对象,并给构造函数传入视频的路径即可,随后将实例化的对象传递给setMovie方法用于播放动画。
代码示例:

from PySide2.QtWidgets import QApplication, QLabel
from PySide2.QtGui import QMovie

app = QApplication([])
Label = QLabel()

Movie = QMovie("./Movie/Gif.gif")            #注意不要把这行放到实例化app对象的上面,会无效
Label.setMovie(Movie)

Movie.start()                                #这句表示播放动画,不能省略。也不能放到show后面,否则无法自适应大小
Label.show()
app.exec_()

运行结果:
在这里插入图片描述
  关于QMovie这个类还有很多操作,因为这篇文章主要是介绍QLabel用法所以就不深入下去了。

### PySide6 UI 教程与资源 对于希望深入了解并掌握 PySide6 用户界面设计的开发者来说,有多种途径可以获取高质量的学习资料和技术文档。 #### 官方文档和支持材料 官方提供的文档是最权威的信息源之一。Qt官方网站提供了详尽的手册和指南,涵盖了从基础到高级的主题[^1]。通过阅读这些手册,能够理解如何创建自定义控件、布局管理器以及其他重要的UI组件特性。 #### 社区贡献的内容 网络上存在大量由社区成员编写的教程文章及视频课程。例如,在CSDN博客中有一关于 Fluent Design 风格 PyQt/PySide 组件库的文章介绍了启动 Qt Designer 的方法,并分享了一些实用技巧。这类第三方平台上的帖子往往包含了作者个人的经验总结,可以帮助解决特定场景下的实际问题。 #### 实际操作练习 实践是最好的老师。利用像 `pyside6-designer` 这样的工具可以直接加载 QML 文件进入设计器视图[^2],从而更直观地学习图形化编程;或者尝试基于 QWidget 类构建自己的复合型小部件实例[^3],这有助于加深对底层机制的理解。 #### 使用 IDE 提升效率 采用专门针对 Qt 技术栈优化过的集成开发环境(IDE),比如 Qt Creator 4.11.1 版本,不仅简化了项目的管理和维护过程,还集成了丰富的插件扩展功能来辅助日常编码活动[^4]。 ```python from PySide6.QtWidgets import QApplication, QLabel app = QApplication([]) label = QLabel('Hello World') label.show() app.exec_() ``` 上述代码展示了最简单的 PySide6 应用程序结构,其中涉及到了核心模块的应用方式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值