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_())