QLabel控件类的主要API如下:

setAlignment():设置文本的对齐方式

setIndent():设置文本缩进

text():获取文本内容

setText():设置文本内容

selectedText():返回所选择的字符

setBuddy():设置伙伴关系

setWordWrap():设置是否允许换行



QLabel常用的信号(事件):

1. 当鼠标滑过QLabel控件时触发:linkHovered

2. 当鼠标单击QLabel控件时触发:linkActivated

练习例子:

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QVBoxLayout, QWidget, QPushButton, QLabel
from PyQt5.QtGui import QPalette,QPixmap

class QLabelDemo(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
    # 第一个label只显示字体,但是通过调色板QPalette改变了背景颜色,第二个label是一个空的超链接,第三个QLabel显示图片,第四个是超链接,可以直接打开网址,调到百度。
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        label1.setText("<font color=yellow>点击领取3.8折咖啡券</font>")
        # 填充整个屏幕
        label1.setAutoFillBackground(True)
        patette = QPalette()
        # 调色板,设置背景色
        patette.setColor(QPalette.Window, Qt.blue)
        label1.setPalette(patette)
        # 设置文本对齐方式
        label1.setAlignment(Qt.AlignCenter)

        label2.setText("<a href='#'>欢迎使用Python GUI程序</a>")

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip('这是一个图片标签')
        label3.setPixmap(QPixmap("about_us_bk.jpg"))

        # 如果设为True,用浏览器打开,如果设为False,调用槽函数
        label4.setOpenExternalLinks(True)
        label4.setText('<a href=https://www.baidu.com>面向百度编程</a>')
        label4.setAlignment(Qt.AlignRight)
        label4.setToolTip('这是一个超级链接')

        vbox = QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addWidget(label2)
        vbox.addWidget(label3)
        vbox.addWidget(label4)

        label2.linkHovered.connect(self.linkHovered)
        label4.linkActivated.connect(self.linkClicked)

        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')


    def linkHovered(self):
        print('当鼠标滑过label2标签时,触发事件')
    def linkClicked(self):
        print('当鼠标单击label4标签时,触发事件')



if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.show()
    sys.exit(app.exec_())

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐