PyQt5 - QLabel 控件



一个QLabel对象充当占位符,用于显示不可编辑的文本或图像,或动画 GIF 电影。它也可以用作其他控件的助记键。标签上可以显示纯文本、超链接或富文本。

下表列出了 QLabel 类中定义的重要方法:

序号 方法及描述
1

setAlignment()

根据对齐常量对齐文本

Qt.AlignLeft

Qt.AlignRight

Qt.AlignCenter

Qt.AlignJustify

2

setIndent()

设置标签文本缩进

3

setPixmap()

显示图像

4

text()

显示标签的标题

5

setText()

以编程方式设置标题

6

selectedText()

显示标签中选定的文本(必须将 textInteractionFlag 设置为 TextSelectableByMouse)

7

setBuddy()

将标签与任何输入控件关联

8

setWordWrap()

启用或禁用在标签中换行文本

QLabel 类的信号

linkActivated 如果单击包含嵌入式超链接的标签,则将打开 URL。必须将 setOpenExternalLinks 功能设置为 true。
linkHovered 当鼠标悬停在包含嵌入式超链接的标签上时,将调用与此信号关联的槽方法。

示例

在此示例中,QLabel 对象 l2 和 l4 的标题包含超链接。l2 的 setOpenExternalLinks 设置为 true。因此,如果单击此标签,则关联的 URL 将在浏览器中打开。l4 的 linkHovered 信号连接到 hovered() 函数。因此,每当鼠标悬停在其上时,该函数将被执行。

QPixmap 对象从 python.jpg 文件准备屏幕外图像。它使用setPixmap()方法显示为标签 l3。

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
   app = QApplication(sys.argv)
   win = QWidget() 
	
   l1 = QLabel()
   l2 = QLabel()
   l3 = QLabel()
   l4 = QLabel()
	
   l1.setText("Hello World")
   l4.setText("TutorialsPoint")
   l2.setText("welcome to Python GUI Programming")
	
   l1.setAlignment(Qt.AlignCenter)
   l3.setAlignment(Qt.AlignCenter)
   l4.setAlignment(Qt.AlignRight)
   l3.setPixmap(QPixmap("python.jpg"))
	
   vbox = QVBoxLayout()
   vbox.addWidget(l1)
   vbox.addStretch()
   vbox.addWidget(l2)
   vbox.addStretch()
   vbox.addWidget(l3)
   vbox.addStretch()
   vbox.addWidget(l4)
	
   l1.setOpenExternalLinks(True)
   l4.linkActivated.connect(clicked)
   l2.linkHovered.connect(hovered)
   l1.setTextInteractionFlags(Qt.TextSelectableByMouse)
   win.setLayout(vbox)
	
   win.setWindowTitle("QLabel Demo")
   win.show()
   sys.exit(app.exec_())
	
def hovered():
   print "hovering"
def clicked():
   print "clicked"
	
if __name__ == '__main__':
   window()

输出

以上代码产生以下输出:

QLabel Widget Output
pyqt_basic_widgets.htm
广告
© . All rights reserved.