一、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官方文档
二、实例演示
(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
![](https://img-blog.csdnimg.cn/36272779814041b4967106ce8d02fb6c.png)
![](https://img-blog.csdnimg.cn/f4bd5c6ab15041898b10a1d647b9ae6e.png)
![](https://img-blog.csdnimg.cn/92a6df68de104b2989bb96944d53fe83.png)
(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