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)定義了快捷方式