Pyqt-qlabel-widget

提供:Dev Guides
移動先:案内検索

PyQt-QLabelウィジェット

*QLabel* オブジェクトは、編集不可能なテキストや画像、またはアニメーションGIFのムービーを表示するためのプレースホルダーとして機能します。 他のウィジェットのニーモニックキーとしても使用できます。 ラベルにプレーンテキスト、ハイパーリンク、またはリッチテキストを表示できます。

次の表は、QLabelクラスで定義されている重要なメソッドの一覧です-

以下は、QLabelで最も一般的に使用される方法です。

Sr.No. Methods & Description
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 If the label containing embedded hyperlink is clicked, the URL will open. setOpenExternalLinks feature must be set to true.
linkHovered Slot method associated with this signal will be called when the label having embedded hyperlinked is hovered by the mouse.

この例では、QLabelオブジェクトl2およびl4には、ハイパーリンクを含むキャプションがあります。 l2のsetOpenExternalLinksはtrueに設定されます。 したがって、このラベルをクリックすると、関連するURLがブラウザーで開きます。 l4のlinkHovered信号は、hovered()関数に接続されています。 そのため、マウスがその上をホバーするたびに、関数が実行されます。

QPixmapオブジェクトは、python.jpgファイルからオフスクリーンイメージを準備します。 setPixmap()メソッドを使用して、ラベルl3として表示されます。

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def window():
   app = QApplication(sys.argv)
   win = QWidget()

   l1 = QLabel()
   l2 = QLabel()
   l3 = QLabel()
   l4 = QLabel()

   l1.setText("Hello World")
   l4.setText("finddevguides")
   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ウィジェットの出力