PyQt QLabel标签

QLabel控件类的主要功能如下。

  • setAlignment():设置文本的对齐方式
  • setIndent():设置文本缩进
  • text():获取文本内容
  • setText():设置文本内容
  • selectedText():返回选中的字符
  • setBuddy():建立合作伙伴关系
  • setWordWrap():设置是否允许换行

QLabel中常用的信号(事件)。

  1. 当鼠标滑过QLabel控件时触发:linkHovered
  2. 当鼠标单击QLabel控件时触发:linkActivated

QLabel显示文本或图像

 

QLabel示例

例如,下面的演示演示了QLabel的用法。QLabel可以是普通标签,可以包含链接,可以包含彩色文本,甚至可以包含图像。

pyqt qlabel示例

Qt的控件支持HTML语法,并且可以使用HTML代码控制显示效果。

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

class QLabelDemo(QWidget) :
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        label1.setText("<font color=yellow>PythonPyQt.com</font>")
        label1.setAutoFillBackground(True)
        palette = QPalette()
        palette.setColor(QPalette.Window,Qt.blue)
        label1.setPalette(palette)
        label1.setAlignment(Qt.AlignCenter)

        label2.setText("<a href='#'>QLabel2</a>")

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip('Hint')
        label3.setPixmap(QPixmap("python.png"))

        label4.setOpenExternalLinks(True)
        label4.setText("<a href='https://python.org'>Python.org</a>")
        label4.setAlignment(Qt.AlignCenter)
        label4.setToolTip('Python.org')

        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 Example')

    def linkHovered(self):
        print('Link hovered')

    def linkClicked(self):
        print('Link clicked')

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

QLabel设置合作伙伴控制

在下面的演示中,使用alt + N设置名称编辑器的光标,并使用alt + p设置密码的光标。
它显示两个标签(QLabel)和按钮。

pyqt qlabel

from PyQt5.QtWidgets import *
import sys

class QLabelBuddy(QDialog) :
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('QLabel Example')
        self.setFixedWidth(250)

        nameLabel = QLabel('&Name',self)
        nameLineEdit = QLineEdit(self)
        nameLabel.setBuddy(nameLineEdit)

        passwordLabel = QLabel('&Password',self)
        passwordLineEdit = QLineEdit(self)
        passwordLabel.setBuddy(passwordLineEdit)

        btnOK = QPushButton('&OK')
        btnCancel = QPushButton('&Cancel')

        mainLayout = QGridLayout(self)
        mainLayout.addWidget(nameLabel,0,0)
        mainLayout.addWidget(nameLineEdit,0,1,1,2)

        mainLayout.addWidget(passwordLabel,1,0)
        mainLayout.addWidget(passwordLineEdit,1,1,1,2)

        mainLayout.addWidget(btnOK,2,1)
        mainLayout.addWidget(btnCancel,2,2)

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

标签

发表评论