PyQt5-QLabel控件的基本用法

# encoding: utf-8
'''===================================================
@Project -> File : qt5003 -> QLabelDemo.py
@IDE             : qt5003
@Author          : Mr. Batac
@Date            : 2020-03-17 21:00
@Desc            :
======================================================'''

# 1.鼠標滑過label時, 會觸發linkHovered
# 2.鼠標單擊label時, 會觸發linkActivated

import sys
from PyQt5.QtWidgets import QVBoxLayout, QApplication, QMainWindow, QLabel, QWidget
from PyQt5.QtGui import QPalette, QPixmap
from PyQt5.QtCore import Qt


class QLabelDemo(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        label1 = QLabel()
        label2 = QLabel()
        label3 = QLabel()
        label4 = QLabel()

        label1.setText("<font color=yellow>這是一個文本標籤.</font>")
        label1.setAutoFillBackground(True)
        patette = QPalette()
        patette.setColor(QPalette.Window, Qt.blue)  # 設置背景顏色
        label1.setPalette(patette)
        label1.setAlignment(Qt.AlignCenter)



        label2.setText("<a href='#'>歡迎使用Python GUI 程序</a>")
        label2.setAlignment(Qt.AlignCenter)

        # label設置爲圖片展示控件
        label3.setText("這是一張圖片")
        label3.setPixmap(QPixmap("images/bianfuxia128.png"))

        label4.setOpenExternalLinks(True) # 如果設置爲true,會使用瀏覽器打開網頁 ,如果爲false,則調用函數
        label4.setText("<a href='https://baidu.com'>這是一條連接</a>")
        label4.setAlignment(Qt.AlignRight)
        label4.setToolTip("這是一個超級連接") # 添加鼠標懸於控件上邊時,提示文字

        # 設置垂直盒子, 裝入4個label
        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控件演示")

    # 鼠標滑過label時的事件
    def linkHovered(self):
        print("當鼠標滑過label2標籤時, 觸發事件")


    # 鼠標點擊label時的事件
    def linkClicked(self):
        print("當鼠標點擊label4時, 觸發事件")


# 入口
if __name__ == '__main__':
    app = QApplication(sys.argv)

    main = QLabelDemo()
    main.show()

    sys.exit(app.exec_())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章