QLabel标签控件是一个经常都要用到的控件,下面是它涉及到的常用方法与事件:
- setAlignment():设置文本的对齐方式,在Qt中
- setIndent():设置文本缩进
- text():获取文本内容
- setBuddy():设置伙伴关系
- setText():设置文本内容
- selectedText():返回所选择的字符
- setWordWrap():设置是否允许换行
- adjustSize():控件根据内容调整尺寸
事件:
- linkHovered:鼠标滑过
- linkActivated:鼠标单击
import sys
from PyQt5.QtWidgets import QLabel,QWidget,QVBoxLayout,QApplication
from PyQt5.QtGui import QPalette,QPixmap
from PyQt5.QtCore import Qt
class QLabelDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建label,参数为self
self.label1 = QLabel(self)
self.label2 = QLabel(self)
self.label3 = QLabel(self)
self.label4 = QLabel(self)
# 设置label标签文本,标签文本可以是HTML代码
self.label1.setText(\"<font color=yellow>这是一个文本标签.</font>\")
self.label1.setAutoFillBackground(True)
patette = QPalette()
# Qt中有很多变量
patette.setColor(QPalette.Window,Qt.blue)
self.label1.setPalette(patette)
# 设定对齐方式
self.label1.setAlignment(Qt.AlignCenter)
self.label2.setText(\"<a href=\'#\'>欢迎使用Python GUI程序</a>\")
self.label3.setAlignment(Qt.AlignCenter)
# 设置提示内容
self.label3.setToolTip(\"这是一个图片标签\")
# 设置图片
self.label3.setPixmap(QPixmap(\"./images/python.jpg\"))
# 如果为false则调用槽函数
self.label4.setOpenExternalLinks(True)
self.label4.setText(\"<a href=\'https://item.jd.com/12417265.html\'>感谢关注</a>\")
self.label4.setAlignment(Qt.AlignRight)
self.label4.setToolTip(\"这是一个超级链接\")
# 创建一个垂直布局
vbox = QVBoxLayout(self)
vbox.addWidget(self.label1)
vbox.addWidget(self.label2)
vbox.addWidget(self.label3)
vbox.addWidget(self.label4)
# 绑定信号
self.label2.linkHovered.connect(self.linkHovered)
self.label4.linkActivated.connect(self.linkClicked)
self.setLayout(vbox)
self.setWindowTitle(\"QLabel控件展示\")
def linkHovered(self):
print(\"鼠标滑过label2\")
def linkClicked(self):
print(\"鼠标单击label4\")
if __name__ == \'__main__\':
app = QApplication(sys.argv)
label = QLabelDemo()
label.show()
sys.exit(app.exec_())