QLabel
优质
小牛编辑
136浏览
2023-12-01
QLabel对象充当占位符以显示不可编辑的文本或图像,或充当动画GIF的影片。 它还可以用作其他小部件的助记键。 标签上可以显示纯文本,超链接或富文本。
下表列出了QLabel类中定义的重要方法 -
Sr.No. | 方法和描述 |
---|---|
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 | 当具有嵌入超链接的标签被鼠标悬停时,将调用与该信号相关联的槽方法。 |
例子 (Example)
在此示例中,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("<a href="https://www.xnip.cn">xnip</a>")
l2.setText("<a href="#">welcome to Python GUI Programming</a>")
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()
上面的代码产生以下输出 -