PyQt5 QLabel小部件
QLabel 对象可用作显示不可编辑的文本、图像或动态GIF影片的占位符。它还可以用作其他小部件的助记键。标签可以显示普通文本、超链接或富文本。
以下表格列出了QLabel类中定义的重要方法:
下面是QLabel的常用方法:
序号 | 方法 |
---|---|
1 | setAlignment() |
2 | setIndent() |
3 | setPixmap() |
4 | Text() |
5 | setText() |
6 | selectedText() |
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()
输出
上面的代码产生以下输出−