Python | プログレスバーの使用方法

GUI App

Pythonでプログレスバーを使用する方法を説明する。

完成イメージ

ヨシヒコを攻撃するとHPが10ずつ減る。

コード

プログレスバーを使用する手順を示す。

  1. PyQt6からQProgressBarをimportする。
  2. QProgressBarのインスタンスを生成する。
  3. setValue()で初期値を設定する。
  4. attack_Yoshihiko(self)でヨシヒコをボコった後の値を設定する。
#!/usr/bin/env python3

import sys
from PyQt6.QtWidgets import QApplication, QWidget, \
                            QLabel, QPushButton, QProgressBar          #1

class GuiWindow(QWidget):

    def __init__(self, parent=None):
        super().__init__(parent)
        self.setGeometry(0, 0, 250, 150)
        self.set_variables()
        self.build_ui()
        self.connect_signal_slot()

    def set_variables(self):
        self.ヨシヒコのHP = 100

    def build_ui(self):
        self.qlb = QLabel("ゆうしゃヨシヒコのHP " + str(self.ヨシヒコのHP), self)
        self.qlb.setGeometry(25, 10, 200, 20)

        self.pbar = QProgressBar(self)                                 #2
        self.pbar.setGeometry(25, 40, 200, 20)
        self.pbar.setValue(self.ヨシヒコのHP)                            #3

        self.qbp = QPushButton('ヨシヒコをこうげきする', self)
        self.qbp.setGeometry(25, 80, 200, 40)

    def connect_signal_slot(self):
        self.qbp.clicked.connect(self.attack_Yoshihiko)

    def attack_Yoshihiko(self):                                         #4
        self.ヨシヒコのHP -= 10
        self.pbar.setValue(self.ヨシヒコのHP)
        self.qlb.setText("ゆうしゃヨシヒコのHP " + str(self.ヨシヒコのHP))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = GuiWindow()
    window.show()
    sys.exit(app.exec())

あとはビルドすればGUIアプリが起動する。

まとめ

Pythonでプログレスバーを使用する方法を説明した。

コメント