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 | 当带有嵌入超链接的标签被鼠标悬停时,将调用与此信号关联的 Slot 方法。 |
示例
在此示例中,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()
Output
上面的代码产生以下输出 −

