三、PyQt5实现Python界面设计_QLable(文本标签)

一、QLable控件类介绍

(1)类:

Class QLabel 构造一个空标签.parent和widget标志f传递给QFrame构造函数。构造一个显示文本text的标签.parent和widget flag f传递参数给QFrame构造函数。

(2)主要方法函数:

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

setIndent():设置文本缩进

text():获取文本内容

setText():设置文本内容

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

setBuddy():设置伙伴关系

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

(3)槽:

clear():清除所有标签内容

setMovie(Movie):将标签内容设置为movie

setNum(arg__1):将标签内容设置为包含整数num的文本

setPicture(arg__1):将标签内容设置为picture

setPixmap(arg__1):设置标签的pixmap

setText(arg__1):设置标签的文本

(4)信号

linkActivated(link)

linkHovered(link)

(5)其他内容请查看PyQt官方文档

QLabel — Qt for Python

 二、实例演示

(1)创建一个QLabel标签(背景颜色及对其方式)

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):
        self.setGeometry(300,30,200,300)#设置窗体位置及大小
        label1 = QLabel(self)
        
        label1.setText("<font color=yellow>这是一个文本标签.</font>")
        label1.setAutoFillBackground(True)
        palette = QPalette()
        palette.setColor(QPalette.Window,Qt.blue)  # 设置背景色
        label1.setPalette(palette)
        #AlignCenter设置为居中对其,AlignLeft为左对齐,AlignRight为右对其
        label1.setAlignment(Qt.AlignCenter)
        
        vbox = QVBoxLayout()
        
        vbox.addWidget(label1)
        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')

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

AlignLeft
AlignCenter
AlignRight

 (2)设置为超链接,连接到槽

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):
        self.setGeometry(300,30,200,300)#设置窗体位置及大小
        label2 = QLabel(self)
        label5 = QLabel(self)
        
        # 如果设为True,用浏览器打开网页,如果设为False,调用槽函数
        label2.setOpenExternalLinks(True)
        label2.setText("<a href='https://pointerpointer.com/'>千万不要点</a>")
        label5.setOpenExternalLinks(False)
        label5.setText("<a href='  '>要不点一下看看</a>")
        label5.setAutoFillBackground(True)
        palette1 = QPalette()
        palette1.setColor(QPalette.Window,Qt.red)  # 设置背景色
        label5.setPalette(palette1)
        
        vbox = QVBoxLayout()
        vbox.addWidget(label2)
        vbox.addWidget(label5)
        
        label2.linkHovered.connect(self.linkHovered)
        label5.linkActivated.connect(self.linkClicked)
        
        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')

    def linkHovered(self):
        print('当鼠标滑过label2标签时,触发事件')
    def linkClicked(self):
        print('当鼠标单击label5标签时,触发事件')
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.show()
    app.exec_()
    del app

 

 (3)设置图片标签

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):
        self.setGeometry(300,30,200,300)#设置窗体位置及大小
 
        label3 = QLabel(self)

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip('这是一个取名鬼才索隆')
        label3.setPixmap(QPixmap("./picture/6.jpeg"))
        
        vbox = QVBoxLayout()
        
        vbox.addWidget(label3)

        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.show()
    app.exec_()
    del app

 

 (4)设置动图标签

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


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

    def initUI(self):
        self.setGeometry(300,30,200,300)#设置窗体位置及大小
 
        label4 = QLabel(self)

        label4.setAlignment(Qt.AlignCenter)
        label4.setToolTip('这是一个动图')
        moive=QMovie('./picture/4.gif')
        label4.setMovie(moive)
        
        vbox = QVBoxLayout()
        
        vbox.addWidget(label4)

        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')
        moive.start()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLabelDemo()
    main.show()
    app.exec_()
    del app

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值