from PyQt5.QtWidgets import QApplication, QLabel ,QWidget, QVBoxLayout from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap ,QPaletteimport sys class WindowDemo(QWidget): def __init__(self ): super().__init__() label1 = QLabel(self) label2 = QLabel(self) label3 = QLabel(self) label4 = QLabel(self) #1 label1.setText("这是一个文本标签。") label1.setAutoFillBackground(True) palette = QPalette() palette.setColor(QPalette.Window,Qt.blue) label1.setPalette(palette) label1.setAlignment( Qt.AlignCenter) label2.setText("<A href='https://blog.csdn.net/m0_38106923'>请关注公众号:美男子玩编程</a>") label3.setAlignment( Qt.AlignCenter) label3.setToolTip('这是一个图片标签') label3.setPixmap( QPixmap("./4.jpg")) label4.setText("<A href='https://blog.csdn.net/m0_38106923'>欢迎关注不脱发的程序猿博客!</a>") label4.setAlignment( Qt.AlignRight) label4.setToolTip('这是一个超链接标签') #2 vbox = QVBoxLayout() vbox.addWidget(label1) vbox.addStretch() vbox.addWidget(label2) vbox.addStretch() vbox.addWidget( label3 ) vbox.addStretch() vbox.addWidget( label4) #3 label2.setOpenExternalLinks(True) # 打开允许访问超链接,默认是不允许,需要使用 setOpenExternalLinks(True)允许浏览器访问超链接 label4.setOpenExternalLinks(True) # 点击文本框绑定槽事件 label4.linkActivated.connect( link_clicked ) # 划过文本框绑定槽事件 label2.linkHovered.connect( link_hovered ) label1.setTextInteractionFlags( Qt.TextSelectableByMouse ) self.setLayout(vbox) self.setWindowTitle("QLabel 例子") def link_hovered(): print("当鼠标滑过label-2标签时,触发事件。") def link_clicked(): print("当鼠标点击label-4标签时,触发事件。" ) if __name__ == "__main__": app = QApplication(sys.argv) win = WindowDemo() win.show() sys.exit(app.exec_())
评论