天天看点

PyQt5基本窗口控件-----QLabel

PyQt5学习之路,点击有pyqt5学习笔记

QLabel可以显示不可编辑的文本或图片,也可以被用作提示标记为其他控件,继承自QFrame。
  1. 常用的方法
  • setAlignment():设置文本的对齐方式
  • setIndent():设置文本缩进
  • text():获取文本内容
  • setBuddy():设置伙伴关系
  • setText():设置文本内容
  • selectedText():返回所选择的字符
  • setWordWrap():设置是否允许换行
  1. 常用的信号(事件)
  • 当鼠标划过QLabel控件时触发:linkHovered
  • 当鼠标单击QLabel控件时出发:linkActivated
label标签的几种使用
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):
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        label1.setText("<font color=yellow>这是一个文本标签</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=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_())
           
label标签的伙伴控件
from PyQt5.QtWidgets import *
import sys

class QLabelBuddy(QDialog):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle('QLabel与伙伴控件')
        nameLabel = QLabel('&Name', self)
        nameLineEdit = QLineEdit(self)
        # 设置伙伴控件
        nameLabel.setBuddy(nameLineEdit)

        passwordLabel = QLabel('&Password', self)
        passwordLineEdit = QLineEdit(self)
        # 设置伙伴控件
        passwordLabel.setBuddy(passwordLineEdit)

        btnOK = QPushButton('&OK')
        btnCencel = 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(btnCencel, 2, 2)

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

继续阅读