如何在Tkinter中在两个框架之间切换?
在大多数情况下,您需要有多个屏幕来允许用户在程序的不同部分之间切换。一种实现方法是创建位于主窗口内部的单独帧。
A-Frame小部件用于在应用程序中组合过多小部件。我们可以在两个不同的框架中添加单独的小部件。用户可以通过点击按钮从一个框架切换到另一个框架。
示例
在此应用程序中,我们将创建两个单独的框架 问候帧 和 订单框架 。每个框架由两个不同的对象组成。将使用Button来在两个不同的框架对象之间进行切换。
# 导入所需的库
from tkinter import *
from tkinter import font
# 创建tkinter帧或窗口的实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
# 在窗口中创建两个框架
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="嘿!欢迎来到TutorialsPoint。", foreground="green3", font=font1)
label1.pack(pady=20)
label2 = Label(order, text="查找所有有趣的教程。", foreground="blue", font=font2)
label2.pack(pady=20)
# 添加一个按钮来在两个框架之间切换
btn1 = Button(win, text="切换到问候", font=font2, command=change_to_order)
btn1.pack(pady=20)
btn2 = Button(win, text="切换到订单", font=font2, command=change_to_greet)
btn2.pack(pady=20)
win.mainloop()
输出
运行上述代码将显示包含两个不同框架的窗口。
可以使用其中定义的按钮将框架从一个切换到另一个。