PyQt5 - QLabel 控制元件



一個QLabel物件充當佔位符,用於顯示不可編輯的文字或影像,或動畫 GIF 電影。它也可以用作其他控制元件的助記鍵。標籤上可以顯示純文字、超連結或富文字。

下表列出了 QLabel 類中定義的重要方法:

序號 方法及描述
1

setAlignment()

根據對齊常量對齊文字

Qt.AlignLeft

Qt.AlignRight

Qt.AlignCenter

Qt.AlignJustify

2

setIndent()

設定標籤文字縮排

3

setPixmap()

顯示影像

4

text()

顯示標籤的標題

5

setText()

以程式設計方式設定標題

6

selectedText()

顯示標籤中選定的文字(必須將 textInteractionFlag 設定為 TextSelectableByMouse)

7

setBuddy()

將標籤與任何輸入控制元件關聯

8

setWordWrap()

啟用或停用在標籤中換行文字

QLabel 類的訊號

linkActivated 如果單擊包含嵌入式超連結的標籤,則將開啟 URL。必須將 setOpenExternalLinks 功能設定為 true。
linkHovered 當滑鼠懸停在包含嵌入式超連結的標籤上時,將呼叫與此訊號關聯的槽方法。

示例

在此示例中,QLabel 物件 l2 和 l4 的標題包含超連結。l2 的 setOpenExternalLinks 設定為 true。因此,如果單擊此標籤,則關聯的 URL 將在瀏覽器中開啟。l4 的 linkHovered 訊號連線到 hovered() 函式。因此,每當滑鼠懸停在其上時,該函式將被執行。

QPixmap 物件從 python.jpg 檔案準備螢幕外影像。它使用setPixmap()方法顯示為標籤 l3。

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
   app = QApplication(sys.argv)
   win = QWidget() 
	
   l1 = QLabel()
   l2 = QLabel()
   l3 = QLabel()
   l4 = QLabel()
	
   l1.setText("Hello World")
   l4.setText("TutorialsPoint")
   l2.setText("welcome to Python GUI Programming")
	
   l1.setAlignment(Qt.AlignCenter)
   l3.setAlignment(Qt.AlignCenter)
   l4.setAlignment(Qt.AlignRight)
   l3.setPixmap(QPixmap("python.jpg"))
	
   vbox = QVBoxLayout()
   vbox.addWidget(l1)
   vbox.addStretch()
   vbox.addWidget(l2)
   vbox.addStretch()
   vbox.addWidget(l3)
   vbox.addStretch()
   vbox.addWidget(l4)
	
   l1.setOpenExternalLinks(True)
   l4.linkActivated.connect(clicked)
   l2.linkHovered.connect(hovered)
   l1.setTextInteractionFlags(Qt.TextSelectableByMouse)
   win.setLayout(vbox)
	
   win.setWindowTitle("QLabel Demo")
   win.show()
   sys.exit(app.exec_())
	
def hovered():
   print "hovering"
def clicked():
   print "clicked"
	
if __name__ == '__main__':
   window()

輸出

以上程式碼產生以下輸出:

QLabel Widget Output
pyqt_basic_widgets.htm
廣告
© . All rights reserved.