PyQt5-QLabel控件使用


QLabel對象作為一個占位符可以顯示不可編輯的文本或者圖片,也可以放一個gif動畫,還可以作為一個提示標記作為其他控件;

該標簽可以放純文本,鏈接或者富文本信息;

繼承關系如下:

QObject---+

        QPaintDevice--+

        QWidget--+

          QFrame--+

                     +---QLabel

常用方法:

常用信息方法:

例如:

 1 #QLabel控件使用
 2 from PyQt5.QtWidgets import QApplication,QLabel,QWidget,QVBoxLayout
 3 from PyQt5.QtCore import Qt
 4 from PyQt5.QtGui import QPixmap,QPalette
 5 import sys
 6 
 7 class WindowDemo(QWidget):
 8     def __init__(self):
 9         super().__init__()
10         self.label_1=QLabel(self)
11         self.label_1.setText("這是一個文本標簽!<a href='www.baidu.com' style='color:red'>百度</a>")
12         self.label_1.setAutoFillBackground(True)
13         self.palette=QPalette()
14         self.palette.setColor(QPalette.Window,Qt.blue)
15         self.label_1.setPalette(self.palette)
16         self.label_1.setAlignment(Qt.AlignCenter)
17 
18         self.label_1.setOpenExternalLinks(True) #允許訪問超鏈接
19         #self.label_1.setTextInteractionFlags(Qt.TextSelectableByMouse)#設置文字是否可被選中,設置后link_hovered失效
20         self.label_1.linkHovered.connect(self.link_hovered)#針對鏈接光標略過
21         self.label_1.linkActivated.connect(self.link_clicked)#針對鏈接點擊事件
22 
23         self.label_2=QLabel(self)
24         self.label_2.setPixmap(QPixmap('./image/baidu.png'))#設置圖標,與文字沖突,則setText的文字不顯示
25 
26         self.vbox=QVBoxLayout()
27         self.setLayout(self.vbox)
28         self.vbox.addWidget(self.label_1)
29         self.vbox.addWidget(self.label_2)
30         self.vbox.addStretch()
31 
32     def link_hovered(self):
33         print("光標滑過Label_1觸發事件")
34     def link_clicked(self):
35         print("點擊時觸發事件")
36 
37 if __name__=="__main__":
38     app=QApplication(sys.argv)
39     win=WindowDemo()
40     win.show()
41     sys.exit(app.exec_())

QLabel設置快捷鍵:

 1 #QLabel標簽的快捷鍵設置
 2 from PyQt5.QtWidgets import QApplication,QLabel,QWidget,QVBoxLayout,QPushButton,QLineEdit,QHBoxLayout,QGridLayout
 3 from PyQt5.QtCore import Qt
 4 from PyQt5.QtGui import QPixmap,QPalette
 5 import sys
 6 
 7 class Qlabel_demo(QWidget):
 8     def __init__(self,parent=None):
 9         super(Qlabel_demo,self).__init__(parent)
10         nameL_1=QLabel("&Name",self)
11         nameE_1=QLineEdit(self)
12         nameL_1.setBuddy(nameE_1)
13 
14         nameL_2=QLabel("&Password",self)
15         nameE_2=QLineEdit(self)
16         nameL_2.setBuddy(nameE_2)#設置該Label與誰配對(使用alt+n快捷鍵)
17 
18         btnOk=QPushButton("&OK")
19         btnCancel=QPushButton("&Cancel")
20         mainLayout=QGridLayout(self)
21         mainLayout.addWidget(nameL_1,0,0)#控件名,行,列,占用行數,占用列數,對齊方式
22         mainLayout.addWidget(nameE_1,0,1,1,2)
23         mainLayout.addWidget(nameL_2,1,0)
24         mainLayout.addWidget(nameE_2,1,1,1,2)
25         mainLayout.addWidget(btnOk,2,1)
26         mainLayout.addWidget(btnCancel,2,2)
27 
28 if __name__=="__main__":
29     app=QApplication(sys.argv)
30     win=Qlabel_demo()
31     win.show()
32     sys.exit(app.exec_())

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM