import sys from PyQt5.QtWidgets import QVBoxLayout,QMainWindow,QApplication,QLabel,QWidget from PyQt5.QtGui import QPixmap, QPalette from PyQt5.QtCore import Qt#設置背景色 class QLabelDemo(QWidget) : def __init__(self): super().__init__() self.initUI() def initUI(self): label1 = QLabel(self) label2 = QLabel(self) label3 = QLabel(self) label4 = QLabel(self) #label1的設置 #背景顏色設置 label1.setText("<font color=yellow>這是一個文本標簽.</font>") label1.setAutoFillBackground(True)#自動填充背景打開 palette = QPalette() palette.setColor(QPalette.Window,Qt.blue) #顏色選擇 label1.setPalette(palette)#把顏色賦予label1 label1.setAlignment(Qt.AlignCenter)#文本居中對齊 label2.setText("<a href='#'>歡迎使用Python GUI程序</a>") label3.setAlignment(Qt.AlignCenter) label3.setToolTip('這是一個圖片標簽') label3.setPixmap(QPixmap("./images/11.png")) # 如果設為True,用瀏覽器打開網頁,如果設為False,調用槽函數 label4.setOpenExternalLinks(True) label4.setText("<a href='https://item.jd.com/12417265.html'>感謝關注《Python從菜鳥到高手》</a>") label4.setAlignment(Qt.AlignRight)#文本居於右側 label4.setToolTip('這是一個超級鏈接') vbox = QVBoxLayout() vbox.addWidget(label1) vbox.addWidget(label2) vbox.addWidget(label3) vbox.addWidget(label4) label2.linkHovered.connect(self.linkHovered) 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) main = QLabelDemo() main.show() sys.exit(app.exec_())
