1 from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout 2 from PyQt5.QtCore import Qt 3 from PyQt5.QtGui import QPixmap, QPalette 4 import sys 5 6 class WindowDemo(QWidget): 7 def __init__(self): 8 super().__init__() 9 10 label1 = QLabel(self) 11 label2 = QLabel(self) 12 label3 = QLabel(self) 13 label4 = QLabel(self) 14 15 # 初始化标签控件 16 label1.setText("这是一个文本标签。") 17 label1.setAutoFillBackground(True) 18 palette = QPalette() 19 palette.setColor(QPalette.Window, Qt.blue) 20 label1.setPalette(palette) 21 label1.setAlignment(Qt.AlignCenter) 22 23 label2.setText("<a href='#'> 欢迎使用Python GUI应用</a>") 24 25 label3.setAlignment(Qt.AlignCenter) 26 label3.setToolTip('这是一个图片标签') 27 label3.setPixmap(QPixmap("YS.jpg")) 28 29 label4.setText("<a href='http://www.cnblogs.com/wangshuo1/'>欢迎访问信平的小屋</a>") 30 label4.setAlignment(Qt.AlignRight) 31 label4.setToolTip('这是一个超链接标签') 32 33 # 在窗口布局中添加控件 34 vbox = QVBoxLayout() 35 vbox.addWidget(label1) 36 vbox.addStretch() 37 vbox.addWidget(label2) 38 vbox.addStretch() 39 vbox.addWidget(label3) 40 vbox.addStretch() 41 vbox.addWidget(label4) 42 43 # 允许label访问超链接 44 label1.setOpenExternalLinks(True) 45 label4.setOpenExternalLinks(False) 46 # 点击文本框绑定槽事件 47 label4.linkActivated.connect(link_clicked) 48 49 # 滑过文本框绑定槽事件 50 label2.linkHovered.connect(link_hovered) 51 label1.setTextInteractionFlags(Qt.TextSelectableByMouse) 52 53 self.setLayout(vbox) 54 self.setWindowTitle("QLabel 例子") 55 56 def link_hovered(): 57 print("当鼠标滑过label-2标签时,触发时间") 58 59 def link_clicked(): 60 print("当用鼠标点击label-4标签时,触发时间.") 61 62 if __name__ == '__main__': 63 app = QApplication(sys.argv) 64 win = WindowDemo() 65 win.show() 66 sys.exit(app.exec_())