【初心者向け】Tkinterでアプリにステータスバーを追加する方法!

Python

アプリを作るとき、現在の状態やユーザーに伝えたい情報を表示する「ステータスバー」があると便利ですよね。今回は、PythonのTkinterを使ってステータスバーを作成する方法を紹介します!

また、リアルタイムで情報を更新する方法や、ウィンドウを閉じるボタンの作り方なども解説しますので、ぜひ最後まで読んで実践してみてください!

1. Tkinterでステータスバーを作成する方法

ステータスバーを作るには、Tkinterの**Frameウィジェット**を使います。Frameは、ウィジェットを整理するためのコンテナのようなものです。

ステータスバーの基本コード

まず、ウィンドウを作成した後にFrameを追加し、ウィンドウの下部に配置します。

import tkinter as tk

# メインウィンドウの作成
root = tk.Tk()
root.title("ステータスバー付きアプリ")
root.geometry("400x200")

# ステータスバーの作成
status_bar = tk.Frame(root)
status_bar.pack(side=tk.BOTTOM, fill=tk.X)

# ステータスバーにラベルを追加
status_label = tk.Label(status_bar, text="ステータス: 初期状態")
status_label.pack(side=tk.LEFT)

# ウィンドウのループ開始
root.mainloop()

解説

Frame(root) でステータスバー用の枠を作成
pack(side=BOTTOM, fill=X) でウィンドウの下部に横いっぱいに配置
Label(status_bar, text="ステータス: 初期状態") で情報を表示

このコードを実行すると、ウィンドウの下にシンプルなステータスバーが表示されます!

2. ステータスバーのテキストを動的に変更する

ステータスバーを作っただけでは、情報が固定されてしまいますよね。そこで、configメソッドを使って、テキストを変更できるようにします。

テキストを更新するコード

# ステータスを変更する関数
def update_status():
    status_label.config(text="ステータス: 更新されました")

# ボタンを作成し、クリック時にステータスを変更
update_button = tk.Button(root, text="ステータス更新", command=update_status)
update_button.pack()

解説

config(text="新しいテキスト") でラベルの内容を変更
✅ ボタンを押すと、update_status 関数が実行され、テキストが変わる

この機能を使えば、アプリの進行状況やユーザーの操作によってステータスを変化させることができます!

3. タイマーを使ってステータスを自動更新する

ユーザーが手動でボタンを押すのではなく、一定時間ごとに自動でステータスを更新したい場合は、afterメソッドを使います。

タイマーを使った自動更新コード

# ステータスを定期的に変更する関数
def auto_update_status():
    status_label.config(text="ステータス: タイマーで更新されました")
    root.after(1000, auto_update_status)  # 1秒後に再実行

# 1秒後に最初の実行
root.after(1000, auto_update_status)

解説

after(1000, auto_update_status) で、1秒(1000ミリ秒)後に関数を再実行
config を使って、毎秒ステータスを更新

この方法を使えば、例えば時計アプリ、カウントダウン、リアルタイムの通知機能などを作ることができます!

4. ウィンドウを閉じるボタンを作成する

アプリを作るなら、ユーザーが自由にウィンドウを閉じられるボタンがあると便利ですよね。

ウィンドウを閉じるボタンのコード

# ウィンドウを閉じるボタンを作成
close_button = tk.Button(root, text="閉じる", command=root.destroy)
close_button.pack()

解説

root.destroy() でウィンドウを閉じる
Buttoncommand=root.destroy を設定し、クリックで終了

5. ステータスバー付きアプリの完成版コード

ここまでの内容をすべて組み込んだ完成版コードがこちらです!

import tkinter as tk

# メインウィンドウを作成
root = tk.Tk()
root.title("ステータスバー付きアプリ")
root.geometry("400x200")

# ステータスバーの作成
status_bar = tk.Frame(root)
status_bar.pack(side=tk.BOTTOM, fill=tk.X)

# ステータスバーのラベル
status_label = tk.Label(status_bar, text="ステータス: 初期状態")
status_label.pack(side=tk.LEFT)

# ステータスを変更する関数
def update_status():
    status_label.config(text="ステータス: 更新されました")

# ステータスを定期的に変更する関数
def auto_update_status():
    status_label.config(text="ステータス: タイマーで更新されました")
    root.after(1000, auto_update_status)  # 1秒後に再実行

# ステータス更新ボタン
update_button = tk.Button(root, text="ステータス更新", command=update_status)
update_button.pack()

# ウィンドウを閉じるボタン
close_button = tk.Button(root, text="閉じる", command=root.destroy)
close_button.pack()

# 1秒後に自動更新開始
root.after(1000, auto_update_status)

# ウィンドウのループ開始
root.mainloop()

6. まとめ

今回の記事では、Tkinterでステータスバーを作る方法を解説しました!

Frameを使ってステータスバーを作成
Labelを使ってテキストを表示
configでステータスを動的に変更
afterを使ってタイマー処理を実装
ウィンドウを閉じるボタンを作成

これらを活用すれば、アプリの状態をユーザーに分かりやすく伝えたり、リアルタイムで更新する機能を簡単に実装できます!

💡 さらに発展させるアイデア

  • スライダーを追加して、音量調整機能をつける
  • 色を変更できるカラーピッカーを作る
  • ステータスバーに現在時刻を表示する

ぜひ、今回のコードを元に、自分のアプリに応用してみてください! 😊✨

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