前提・実現したいこと
Tkinterを用いてmain_frame,frame1,frame2の切り替えを行うプログラムを作りたいのですがフレームの切り替えができず、既存のフレームに新たにラベルとボタンが生成されてしまいます。
tkraiseでは切り替えができないのでしょうか。
ご教授ください。
該当のソースコード
Python
1import tkinter as tk 2 3def btn1_click(): 4 frame1.tkraise() 5 frame1_label = tk.Label(frame1,text="フレーム1") 6 frame1_label.pack() 7 home_btn = tk.Button(frame1,text="ホームへ",command=home_btn_click) 8 home_btn.pack() 9 10def btn2_click(): 11 frame2.tkraise() 12 frame2_label = tk.Label(frame2,text="フレーム2") 13 frame2_label.pack() 14 home_btn = tk.Button(frame2,text="ホームへ",command=home_btn_click) 15 home_btn.pack() 16 17def home_btn_click(): 18 main_frame.tkraise() 19 main_frame_label = tk.Label(main_frame,text="ホーム画面") 20 main_frame_label.pack() 21 btn1 = tk.Button(main_frame,text="ボタン1",command=btn1_click) 22 btn1.pack() 23 btn2 = tk.Button(main_frame,text="ボタン2",command=btn2_click) 24 btn2.pack() 25 26#ウィンドウの作成 27root = tk.Tk() 28root.title("ホーム画面") 29root.geometry("200x200") 30#フレームの作成 31main_frame = tk.Frame(root) 32main_frame.pack() 33main_frame_label = tk.Label(main_frame,text="ホーム画面") 34main_frame_label.pack() 35#ボタンの作成 36btn1 = tk.Button(main_frame,text="ボタン1",command=btn1_click) 37btn1.pack() 38btn2 = tk.Button(main_frame,text="ボタン2",command=btn2_click) 39btn2.pack() 40#フレームの作成 41frame1 = tk.Frame(root) 42frame1.pack() 43frame2 = tk.Frame(root) 44frame2.pack() 45main_frame.tkraise() 46 47root.mainloop()

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。