| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import tkinter as tk
- def show_card(card_number):
- card1_frame.grid_forget()
- card2_frame.grid_forget()
- card3_frame.grid_forget()
- if card_number == 1:
- card1_frame.grid(row=0, column=0, padx=10, pady=10, sticky="nsew")
- elif card_number == 2:
- card2_frame.grid(row=0, column=0, padx=10, pady=10, sticky="nsew")
- elif card_number == 3:
- card3_frame.grid(row=0, column=0, padx=10, pady=10, sticky="nsew")
- root = tk.Tk()
- root.title("模拟 CardLayout")
- # 创建一个容器 Frame
- container = tk.Frame(root)
- container.pack(fill="both", expand=True)
- # 创建三个 "卡片" Frame
- card1_frame = tk.Frame(container, bg="lightblue", padx=50, pady=50)
- card2_frame = tk.Frame(container, bg="lightgreen", padx=50, pady=50)
- card3_frame = tk.Frame(container, bg="lightyellow", padx=50, pady=50)
- card1_label = tk.Label(card1_frame, text="卡片 1")
- card1_label.pack()
- card2_label = tk.Label(card2_frame, text="卡片 2")
- card2_label.pack()
- card3_label = tk.Label(card3_frame, text="卡片 3")
- card3_label.pack()
- # 初始显示第一个卡片
- show_card(1)
- # 创建切换按钮
- button1 = tk.Button(root, text="显示卡片 1", command=lambda: show_card(1))
- button1.pack(pady=5)
- button2 = tk.Button(root, text="显示卡片 2", command=lambda: show_card(2))
- button2.pack(pady=5)
- button3 = tk.Button(root, text="显示卡片 3", command=lambda: show_card(3))
- button3.pack(pady=5)
- root.mainloop()
|