アプリを作るとき、現在の状態やユーザーに伝えたい情報を表示する「ステータスバー」があると便利ですよね。今回は、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() でウィンドウを閉じる
✅ Button に command=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を使ってタイマー処理を実装
✅ ウィンドウを閉じるボタンを作成
これらを活用すれば、アプリの状態をユーザーに分かりやすく伝えたり、リアルタイムで更新する機能を簡単に実装できます!
💡 さらに発展させるアイデア
- スライダーを追加して、音量調整機能をつける
- 色を変更できるカラーピッカーを作る
- ステータスバーに現在時刻を表示する
ぜひ、今回のコードを元に、自分のアプリに応用してみてください! 😊✨


