【Python(PySimpleGUI)でGUIアプリ入門】進捗状況を表現するプログレスバーを表示するGUIアプリを作る方法

PySimpleGUI
けんろう
けんろう

PySimpleGUIでは、アプリのインストール状況やダウンロードの進捗状況を表現するのに使われるプログレスバーを表示するGUIアプリが簡単に作れます。

プログレスバーは、アプリのインストール状況や、ダウンロード状況を表現するのに、プログレスバーが使われることが多いです。

PySimpleGUIでは、このプログレスバーを表示するGUIアプリが簡単に作れます。

この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。

この記事では、公式サイトから、各テーマに沿った内容を紹介しています。公式サイトは、英語で書かれており、多くの情報が載っていますが、ちょっと読みづらいです。

この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。

もう少し詳しく知りたい方は、公式サイトも見に行ってください。

【無料オンライン】ゼロから始めるPythonプログラミング入門講座(週5開催) テックジム
スポンサーリンク

プログレスバーを表示するGUIアプリ

このサンプルコードは、
アプリを起動すると、カウントが始まり、プログレスバーが更新していきます。
プログレスバーは、MAX1000となり、10ms毎にインクリメントされていきます。

サンプルコード

#!usr/bin/env python
# -*- coding: utf-8 -*-

import PySimpleGUI as sg

sg.theme('Dark Red')

BAR_MAX = 1000

# レイアウト(1段目:テキスト、2段目:プログレスバー、3段目:ボタン)
layout = [[sg.Text(' プログレスバー ')],
          [sg.ProgressBar(BAR_MAX, orientation='h', size=(20,20), key='-PROG-')],
          [sg.Cancel()]]

# ウィンドウの生成
window = sg.Window(' プログレスバーのサンプルアプリ ', layout)


for i in range(BAR_MAX):
    # 入力待ち(10msでタイムアウトして、次の処理へ進む)
    event, values = window.read(timeout=10)

    # キャンセルボタンか、ウィンドウの右上の×が押された場合の処理
    if event == 'Cancel' or event == sg.WIN_CLOSED:
        break

    # プログレスバーの表示更新(カウンタ(i)をインクリメントして表示)
    window['-PROG-'].update(i+1)

window.close()

実行すると、

プログレスバーが10ms毎にインクリメントされて、バーが更新されていきます。

Cancelボタンを押すと、アプリを閉じます。

Pythonでプログラムを作るのなら、ラズパイが安くて、環境構築も楽で、おすすめです。

まとめ

今回は、Pythonライブラリである、PySimpleGUIで、プログレスバーを表示するGUIアプリの作り方を紹介しました。

コメント

タイトルとURLをコピーしました