Qt-Qlabel

Qlabel對象作爲一個佔位符可以顯示不可編輯的文本或圖片,還可以設置一個GIF動畫,可以杯被用作提示標記其他控件。純文本,鏈接,或者富文本五都可以顯示在此標籤上
Qlabel常用類型與方法
在這裏插入圖片描述
Qlabel標籤的顯示與使用

# -*- coding: UTF-8 -*-
import sys
from PyQt5.QtWidgets import QApplication , QToolTip,QWidget,QLabel,QVBoxLayout
from PyQt5.QtGui import QPixmap,QPalette
# QPixmap主要是用於繪圖,針對屏幕顯示而最佳化設計,可以進行,貼圖,添加控件顏色的作用
#QPalette是Qt中的一個調色板類,用於美化界面
from PyQt5.QtCore import Qt

class WinDemo(QWidget):
    def __init__(self):
        super().__init__()

        #創建4個標籤
        label1 = QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)

        #標籤控件的初始化
        label1.setText("這是一個文本標籤")
        label1.setAutoFillBackground(True)
        #設置控件顏色
        palette=QPalette()
        palette.setColor(QPalette.Window,Qt.blue)
        label1.setPalette(palette)
        #控件居中
        label1.setAlignment(Qt.AlignCenter)

        label2.setText("<a href='#'>歡迎使用 Python GUI應用</a>")

        label3.setAlignment(Qt.AlignCenter)
        label3.setToolTip("這是一個圖片標籤")
        #添加圖片
        label3.setPixmap(QPixmap("./python.jpg"))
        
        #設置外部鏈接
        label4.setText("<a href='https://blog.csdn.net/weixin_44677658'>歡迎訪問我的博客</a>")
        label4.setAlignment(Qt.AlignRight)
        label4.setToolTip("進入博客")

        #在窗口布局中添加控件
        vbox=QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addStretch()
        #作用是在佈局器中增加一個伸縮量,裏面的參數表示QSpacerItem的個數,默認值爲零,會將你放在layout中的空間壓縮成默認的大小
        vbox.addWidget(label2)
        vbox.addStretch()
        vbox.addWidget(label3)
        vbox.addStretch()
        vbox.addWidget(label4)

        #y允許label1訪問超鏈接
        label1.setOpenExternalLinks(True)
        #打開允許訪問,默認不允許
        label4.setOpenExternalLinks(True)

        #點擊文本框綁定槽事件
        label4.linkActivated.connect( link_clicked )
        #劃過文本框綁定槽事件
        label2.linkHovered.connect( link_hovered )

        #設置文本的交互形式
        label1.setTextInteractionFlags(Qt.TextSelectableByMouse)

        self.setLayout(vbox)
        self.setWindowTitle("example")
#類外函數參數可以不加self
def link_hovered():
    print("劃過觸發")
def link_clicked():
    print("點擊觸發")


if __name__=='__main__':
    app=QApplication(sys.argv)
    win=WinDemo()
    win.show()
    sys.exit(app.exec_())

addStretch函數
效果
在這裏插入圖片描述

Qlabel快捷鍵使用

# -*- coding: UTF-8 -*-
import sys
from PyQt5.QtWidgets import QApplication , QToolTip,QWidget,QLabel,QLineEdit,QPushButton,QGridLayout
from PyQt5.QtGui import QPixmap,QPalette
# QPixmap主要是用於繪圖,針對屏幕顯示而最佳化設計,可以進行,貼圖,添加控件顏色的作用
#QPalette是Qt中的一個調色板類,用於美化界面
from PyQt5.QtCore import Qt

class WinDemo(QWidget):
    def __init__(self):
        super().__init__()

        #定義名字和快捷方式
        label1 = QLabel('&name',self)
        edit1=QLineEdit(self)
        #設置夥伴
        label1.setBuddy(edit1)

        label2 = QLabel('&Password', self)
        edit2 = QLineEdit(self)
        label2.setBuddy(edit2)

        btnOk=QPushButton('&OK')
        btnCancel=QPushButton('&Cancel')

        #設置佈局
        mainLayout=QGridLayout(self)
        mainLayout.addWidget(label1,0,0)
        mainLayout.addWidget(edit1,0,1,1,2)
        mainLayout.addWidget(label2, 1, 0)
        mainLayout.addWidget(edit2, 1, 1, 1, 2)
        mainLayout.addWidget(btnOk, 2, 1)
        mainLayout.addWidget(btnCancel,2,2)

if __name__=='__main__':
    app=QApplication(sys.argv)
    win=WinDemo()
    win.show()
    sys.exit(app.exec_())

在這裏插入圖片描述
使用Alt + 大寫首字母即可快速定位到相應控件
原因:Qlabel(&Name)定義了快捷方式

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