PyQt5 チュートリアル - プッシュボタン

胡金庫 2023年1月30日
  1. PyQt5 プッシュボタン-QPushButton
  2. PyQt5 QLabel ラベルウィジェットセットスタイル
  3. PyQt5 QLabel ラベルクリックイベント
PyQt5 チュートリアル - プッシュボタン

プッシュボタンウィジェット QPushButton は PyQt5 のコマンドボタンです。ユーザーがクリックすると、PC に適用キャンセル保存などの特定のアクションを実行するように指示されます。

PyQt5 プッシュボタン-QPushButton

import sys
from PyQt5 import QtWidgets


def basicWindow():
    app = QtWidgets.QApplication(sys.argv)
    windowExample = QtWidgets.QWidget()

    buttonA = QtWidgets.QPushButton(windowExample)
    labelA = QtWidgets.QLabel(windowExample)

    buttonA.setText("Click!")
    labelA.setText("Show Label")

    windowExample.setWindowTitle("Push Button Example")

    buttonA.move(100, 50)
    labelA.move(110, 100)

    windowExample.setGeometry(100, 100, 300, 200)
    windowExample.show()
    sys.exit(app.exec_())


basicWindow()

どこ、

buttonA = QtWidgets.QPushButton(windowExample)

buttonAQtWidgetsQPushButton であり、[前の章で紹介したラベル]と同じウィンドウ windowExample に追加する必要があります(/ja/tutorial/pyqt5/pyqt5-label/)。

buttonA.setText("Click!")

buttonA のテキストを Click! に設定します。

PyQt5 プッシュボタン

実際には、ボタンは今のところ何もしません。

PyQt5 QLabel ラベルウィジェットセットスタイル

背景色、フォントファミリー、フォントサイズのような PyQt5 の QLabel ウィジェットのスタイルは setStyleSheet メソッドで設定できます。CSS のスタイルシートのように機能します。

buttonA.setStyleSheet(
    "background-color: red;font-size:18px;font-family:Times New Roman;"
)

次のスタイルで buttonA を設定する、

スタイル
background-color red
font-size 18px
font-family Times New Roman

CSS に似ているため、PyQt5 でスタイルを設定すると便利です。

import sys
from PyQt5 import QtWidgets


def basicWindow():
    app = QtWidgets.QApplication(sys.argv)
    windowExample = QtWidgets.QWidget()

    buttonA = QtWidgets.QPushButton(windowExample)
    labelA = QtWidgets.QLabel(windowExample)

    buttonA.setStyleSheet(
        "background-color: red;font-size:18px;font-family:Times New Roman;"
    )

    buttonA.setText("Click!")
    labelA.setText("Show Label")

    windowExample.setWindowTitle("Push Button Example")

    buttonA.move(100, 50)
    labelA.move(110, 100)

    windowExample.setGeometry(100, 100, 300, 200)
    windowExample.show()
    sys.exit(app.exec_())


basicWindow()

PyQt5 プッシュ Button_setStyleSheet の例

PyQt5 QLabel ラベルクリックイベント

ボタンクリックイベントは、QLabel.clicked.connect(func) メソッドを使用して特定の関数に接続されます。

import sys
from PyQt5 import QtWidgets


class Test(QtWidgets.QMainWindow):
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)

        self.buttonA = QtWidgets.QPushButton("Click!", self)
        self.buttonA.clicked.connect(self.clickCallback)
        self.buttonA.move(100, 50)

        self.labelA = QtWidgets.QLabel(self)
        self.labelA.move(110, 100)

        self.setGeometry(100, 100, 300, 200)

    def clickCallback(self):
        self.labelA.setText("Button is clicked")


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    test = Test()
    test.show()
    sys.exit(app.exec_())

QPushButton buttonA がクリックされると、clickCallback 関数がトリガーされ、ラベルのテキストが Button is clicked に設定されます。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook