简介
QLabel对象作为一个占位符可以显示不可编辑的文本、图片和GIF,还可以作为提示标记。
纯文本、富文本和超链接可以显示在标签上。
QLabel类中的常用方法
setText()
设置文本内容
text()
获取文本内容
setAlignment()
设置对齐方式
setIndent()
设置缩进方式
setPixmap()
设置图片
setWordWrap()
设置是否允许换行
信号
1.鼠标点击标签中嵌入的超链接
linkActivated
2.鼠标划过标签中嵌入的超链接
linkHover
程序
import sys
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class LabelDemo(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
# 标签1
self.label1 = QLabel()
self.label1.setOpenExternalLinks(True)
self.label1.setText("<a href='www.baidu.com'>百度</a>")
self.label1.linkHovered.connect(self.hover)
self.label1.setToolTip('超链接')
"""
标签设置超链接并允许点击访问有2步:
- 设置打开外链为True
- 设置超链接文本
"""
# 标签2
self.label2 = QLabel("label2")
self.label2.setPixmap(QPixmap("D:/pyqt5/img/user.jpg"))
self.label2.setToolTip('图片链接')
"""
设置图片
相对路径的设置还是有问题
使用绝对路径在生产环境是不允许的
"""
# 标签3
self.label3 = QLabel("可以被选择的文字")
self.label3.setTextInteractionFlags(Qt.TextSelectableByMouse)
"""
设置标签可以被鼠标选择
"""
# 标签4
self.label4 = QLabel("<a href='#'>13468</a>")
self.label4.linkActivated.connect(self.act)
self.label4.setAlignment(Qt.AlignTop)
# 标签5
self.label5 = QLabel("label5")
self.label5.setAlignment(Qt.AlignLeft)
self.label5.setIndent(2)
# 垂直布局
vLayout = QVBoxLayout()
vLayout.addWidget(self.label1)
vLayout.addWidget(self.label2)
vLayout.addWidget(self.label3)
vLayout.addWidget(self.label4)
vLayout.addWidget(self.label5)
self.setLayout(vLayout)
self.setWindowTitle("QLabel例子")
def hover(self):
print('鼠标指针划过标签中嵌入的超链接')
def act(self):
print('act')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = LabelDemo()
window.setWindowFlags(Qt.WindowStaysOnTopHint)
window.show()
sys.exit(app.exec_())
结果截图