说明
QLabel标签控件在QT中算是比较常见的,它一般都是用来显示文本内容,当然它的功能不是只局限在这里,还可以用它来显示照片,gif动画等。
基本方法
| 方法 | 描述 |
|---|---|
| setAlignment() | 设置文本的对齐方式 |
| setIndent() | 设置文本缩进 |
| text() | 获取文本内容 |
| setBuddy() | 设置伙伴关系 |
| setText() | 设置文本内容 |
| selectedText() | 返回所选择的字符 |
| setWordWrap() | 设置是否允许换行 |
常用信号
| 信号 | 描述 |
|---|---|
| linkHovered | 当鼠标滑过QLabel控件时触发 |
| linkActivated | 当鼠标单击QLabel控件时触发 |
测试Demo
import sys
from PyQt5.QtWidgets import QVBoxLayout, QApplication, QWidget
from PyQt5.QtWidgets import QLabel # 标签控件
from PyQt5.QtGui import QPixmap # 用于在标签或按钮上显示图像
from PyQt5.QtGui import QPalette # 对话框或控件的调色板
from PyQt5.QtCore import Qt
class QLabelDemo(QWidget) :
def __init__(self):
super(QLabelDemo, self).__init__()
self.initUI()
def initUI(self):
# 实例化4个标签
label1 = QLabel(self)
label2 = QLabel(self)
label3 = QLabel(self)
label4 = QLabel(self)
label1.setText("<font color=yellow>这是一个文本标签.</font>") # 设置标签显示的文本内容
label1.setAutoFillBackground(True) # True 可设置本控件的颜色
palette = QPalette() # 实例化调色板
palette.setColor(QPalette.Window, Qt.blue) # 颜色设置
label1.setPalette(palette) # 设置控件的颜色
label1.setAlignment(Qt.AlignCenter) # 设置控件对齐方式
label2.setText("<a href='#'>欢迎使用Python GUI程序</a>") # 使用html设置label2的文本内容
label3.setAlignment(Qt.AlignCenter) # 设置控件对齐方式
label3.setToolTip('这是一个图片标签') # 设置控件的提示信息
label3.setPixmap(QPixmap("./images/python.jpg")) # 设置控件的背景图片
label4.setOpenExternalLinks(True) # 如果设为True,用浏览器打开网页,如果设为False,调用槽函数
label4.setText("<a href='https://item.jd.com/12417265.html'>感谢关注《Python从菜鸟到高手》</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控件演示') # 窗口标题
self.resize(500, 300) # 设置窗口大小
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_())
运行效果

本文详细介绍了QT中QLabel控件的使用方法,包括显示文本、图片、GIF动画等功能,以及如何设置文本对齐、换行、背景色等属性。通过一个实战Demo,展示了如何创建和自定义QLabel控件。
1559

被折叠的 条评论
为什么被折叠?



