10.PyQt5【基本组件】标签-QLabel

一、前言
QLabel对象充当占位符以显示不可编辑的文本或图像,或动画 GIF 电影。它也可以用作其他小部件的助记键。标签上可以显示纯文本、超链接或富文本。

二、学习目标

1.QLabel常用方法

2.QLabel常用信号

3.QLabel组件的应用

三、知识点

1.【QLabel常用方法】

方法名 主要功能
setAlignment() 按照固定方式对其文本
Qt.AlignLeft:水平方向靠左对齐
Qt.AlignRight:水平方向靠右对齐
Qt.AlignCenter:水平方向居中对齐
Qt.AlignJustify:水平方向调整间距两端对齐
Qt.AlignTop:垂直方向靠上对齐
Qt.AlignBottom:垂直方向靠下对齐
Qt.AlignVCenter:垂直方向居中对齐
setIndent() 设置文本缩进
setPixmap() 设置QLab为一个Pixmap 图片
text() 获取QLabel 显示的文本
setText() 设置Qlabel显示的文本
setWordWrap() 是否允许换行

2.【QLabel常用信号】

信号 描述
linkActivated 当点击标签超链接时,希望在新窗口打开这个超链接,setOpenExternalLinks 特性必须设置为True,即 setOpenExternalLinks(True)
linkHovered 当指针划过标签中的超链接时,需要槽函数和这个信号绑定

3.【QLabel组件的应用】

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel


class QmyWidget(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
        self.setupUi()

    def setupUi(self):
        """页面初始化"""
        # 设置窗体大小及标题
        self.resize(500, 400)
        self.setWindowTitle("QLabel组件示例")
        # 创建布局
        self.layout = QVBoxLayout()

        # QLabel组件示例
        self.label1 = QLabel(self)
        self.label1.setText("<a href='www.baidu.com'>第一个标签</a>")
        self.label2 = QLabel('第二个标签', self)
        # QLabel组件设置
        self.label1.setAlignment(Qt.AlignCenter)  # label1居中对齐
        self.label2.setAlignment(Qt.AlignCenter)  # label1居中对齐
        # QLabel关联信号
        self.label1.linkActivated.connect(self.on_label1_activate)  # label1绑定超链接点击信号
        self.label1.linkHovered.connect(self.on_label2_hover)       # label1绑定超链接滑过信号

        # 将组件添加到布局中
        self.layout.addWidget(self.label1)
        self.layout.addWidget(self.label2)
        # 为窗体添加布局
        self.setLayout(self.layout)

    def on_label1_activate(self):
        """label1槽函数"""
        print("label1标签被点击啦!")

    def on_label2_hover(self):
        """label2槽函数"""
        print("label2标签被滑过啦!")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myMain = QmyWidget()
    myMain.show()
    sys.exit(app.exec_())
  • 关键代码:

            # QLabel组件示例
            self.label1 = QLabel(self)
            self.label1.setText("<a href='www.baidu.com'>第一个标签</a>")
            self.label2 = QLabel('第二个标签', self)
            # QLabel组件设置
            self.label1.setAlignment(Qt.AlignCenter)  # label1居中对齐
            self.label2.setAlignment(Qt.AlignCenter)  # label1居中对齐
            # QLabel关联信号
            self.label1.linkActivated.connect(self.on_label1_activate)  # label1绑定超链接点击信号
            self.label1.linkHovered.connect(self.on_label2_hover)       # label1绑定超链接滑过信号
    

    代码中创建一个QLabel,设置标签标题的方法有两种,一种是调用setText方法来设置,如label1;另一种是在创建label时将标题传入构造函数来设置,如label2。此外,还可以给文字添加css样式,将其作为字符串传入setText方法中。

posted @ 2023-01-16 10:38  测开星辰  阅读(255)  评论(0编辑  收藏  举报