PyQt - QLabel 小部件

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

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

下面给出了 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 当带有嵌入超链接的标签被鼠标悬停时,将调用与此信号关联的 Slot 方法。

示例

在此示例中,QLabel 对象 l2 和 l4 具有包含超链接的标题。 l2 的 setOpenExternalLinks 设置为 true。 因此,如果单击此标签,则关联的 URL 将在浏览器中打开。 l4 的 linkHovered 信号连接到 hovered() 函数。 所以,只要鼠标悬停在它上面,函数就会被执行。

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

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui 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 小部件输出