Tkinterでウィジェットを表示・非表示にする方法を解説
Tkinterは、PythonでGUIアプリケーションを作成・開発するための標準ライブラリです。本記事では、アプリケーション内のウィジェットを動的に表示したり非表示にしたりする方法を解説します。
ウィジェットの表示と非表示の基本
Tkinterでは、以下のメソッドを使うことでウィジェットの表示状態を簡単に制御できます。
- ウィジェットを表示するには、pack()ジオメトリマネージャを使用します。
- ウィジェットを非表示にするには、pack_forget()メソッドを使用します。このメソッドは、pack()で配置されたウィジェットを画面から取り除きます(ウィジェット自体は破棄されないため、再度pack()を呼び出せば再表示できます)。
サンプルコード
それでは、実際の例を使ってウィジェットの表示/非表示の切り替え方法を見ていきましょう。ボタンをクリックするたびに、ラベルの表示が切り替わる仕組みです。
# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk
# tkinterフレームのインスタンスを作成
win = Tk()
# ウィンドウサイズを設定
win.geometry("700x350")
# コンボボックスウィジェット用のスタイルを定義
style = ttk.Style()
style.theme_use('xpnative')
# ウィジェットを表示/非表示する関数を定義
def show_widget():
label.pack()
def hide_widget():
label.pack_forget()
b1.configure(text="Show", command=show_widget)
# ラベルウィジェットを追加
label = ttk.Label(win, text="Eat, Sleep, Code and Repeat", font=('Aerial 11'))
label.pack(pady=30)
# ボタンウィジェットを追加
b1 = ttk.Button(win, text="Hide", command=hide_widget)
b1.pack(pady=20)
win.mainloop()実行結果
上記のコードを実行すると、ウィジェットの表示/非表示を切り替えるためのボタンが配置されたウィンドウが開きます。

続いて、ボタンをクリックすると、ウィンドウからラベルのテキストが消えます。もう一度クリックすれば、再びラベルが表示されます。

まとめ
このように、pack()でウィジェットを表示し、pack_forget()で非表示にすることで、シンプルなコードでウィジェットの表示状態を柔軟に制御できます。ボタンのcommand属性を切り替えれば、同じボタンで表示/非表示の両方を操作できる点もポイントです。
-
Tkinterでウィジェットを非表示にする方法|pack_forget()の使い方を解説
Tkinterアプリケーションでウィジェットを一時的に非表示にしたい場合、pack_forget()メソッドを使用します。このメソッドは、ウィンドウ上からウィジェットのマッピングを解除し、画面から見えなくするために広く使われています。pack_forget()メソッドとはpack_forget()は、pack()ジオメトリマネージャーで配置されたウィジェットを非表示にするためのメソッドです。非表示にされたウィジェットは破棄されるわけではなく、再びpack()を呼び出せば元の状態で再表示できるのが特徴です。サンプルコード以下の例では、ラベルテキストとボタンを作成し、ボタンをクリックするとラベルが
-
Tkinterでウィジェットを表示・非表示に切り替える方法
GUIアプリケーションを開発していると、状況に応じてウィジェットを表示したり非表示にしたりしたい場面が出てきます。Tkinterでは、この操作を非常に簡単に実装できます。ウィジェットを非表示にするには、pack_forget() メソッドを使用します。非表示にしたウィジェットを再び表示するには、pack() メソッドを使用します。どちらのメソッドも、lambda式(無名関数)を使ってボタンのcommand引数に渡すことで、手軽に呼び出すことができます。サンプルコード# 必要なライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 w