Tkinterで2つのフレームを切り替える方法を解説
多くのGUIアプリケーションでは、ユーザーがプログラムの異なるセクション間を行き来できるよう、複数の画面(ページ)を用意する必要があります。これを実現する方法のひとつが、メインウィンドウの中に複数のフレームを作成し、それらを切り替えるというアプローチです。
TkinterのFrameウィジェットは、アプリケーション内の多数のウィジェットをグループ化するために使用されます。2つの異なるフレームにそれぞれ別のウィジェットを配置し、ボタンのクリック操作によって、あるフレームから別のフレームへと表示を切り替えることができます。
実装例
ここでは、「greet frame(挨拶フレーム)」と「order frame(注文フレーム)」という2つの独立したフレームを持つアプリケーションを作成します。各フレームにはそれぞれ異なるコンテンツ(Labelウィジェット)を配置し、ボタンをクリックすることで2つのフレームを相互に切り替えられるようにします。
フレームの切り替えには、pack()メソッドで対象のフレームを表示し、pack_forget()メソッドでもう一方のフレームを非表示にするという仕組みを使います。
# 必要なライブラリをインポート
from tkinter import *
from tkinter import font
# tkinterのフレーム(ウィンドウ)のインスタンスを作成
win = Tk()
# ウィンドウのサイズを設定
win.geometry("700x350")
# ウィンドウ内に2つのフレームを作成
greet = Frame(win)
order = Frame(win)
# フレームを切り替える関数を定義
def change_to_greet():
greet.pack(fill='both', expand=1)
order.pack_forget()
def change_to_order():
order.pack(fill='both', expand=1)
greet.pack_forget()
# フレームごとに見た目を変えるためのフォントを作成
font1 = font.Font(family='Georgia', size='22', weight='bold')
font2 = font.Font(family='Aerial', size='12')
# 各フレームに見出しとなるラベルを追加
label1 = Label(greet, text="Hey There! Welcome to TutorialsPoint.", foreground="green3", font=font1)
label1.pack(pady=20)
label2 = Label(order, text="Find all the interesting Tutorials.", foreground="blue", font=font2)
label2.pack(pady=20)
# 2つのフレームを切り替えるためのボタンを追加
btn1 = Button(win, text="Switch to Greet", font=font2, command=change_to_order)
btn1.pack(pady=20)
btn2 = Button(win, text="Switch to Order", font=font2, command=change_to_greet)
btn2.pack(pady=20)
win.mainloop()
実行結果
上記のコードを実行すると、2つの異なるフレームを含むウィンドウが表示されます。

ウィンドウ内に配置されたボタンをクリックすることで、フレームを自由に切り替えることができます。


ポイントまとめ
- 複数の画面を実現するには、Frameウィジェットを複数作成して使い分けるのが基本です。
- 表示したいフレームには
pack(fill='both', expand=1)を使用し、非表示にしたいフレームにはpack_forget()を呼び出します。 - ボタンの
commandオプションに関数を渡すことで、クリック時の切り替え処理を実現できます。
-
【保存版】Excelでワークシートを切り替える方法|ショートカット・ジャンプ・VBAまで完全解説
Excelは業務の効率化に欠かせない非常に強力な表計算ソフトです。スプレッドシートを日常的に使う方なら、Excelの操作スキルを磨くことで作業効率が大きく変わることを実感しているはずです。しかし、基本操作をマスターした後も、知っておくと便利なテクニックはまだまだたくさんあります。 その中でもぜひ覚えておきたいのが、Excelのシート間を素早く移動するためのさまざまな方法です。この記事では、誰でも使える基本的な操作から始めて、上級者向けの自動化テクニックまで段階的に解説していきます。 キーボードショートカットでシートを切り替える 複数のワークシートが含まれるExcelファイルを開いているとき、シ
-
Instagramアカウントの切り替え方法|複数アカウントの追加・管理をわかりやすく解説
趣味でもビジネスでも、Instagramを複数のアカウントで使い分けている方は多いのではないでしょうか。実はInstagramには、ログインし直すことなく複数のアカウントを簡単に切り替えられる便利な機能が備わっています。 Instagramでは、特定のテーマに特化したアカウントが人気を集める傾向があるため、目的別に複数アカウントを作成するのはおすすめの使い方です。しかし、いちいちログアウトして別のアカウントにログインし直すのは手間がかかり、ストレスになりがちです。そこで本記事では、Instagramアカウントを効率的に切り替える方法をご紹介します。 実は、Instagramは2016年2月8日