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
上面的代码产生以下输出 −