如何在 Tkinter 中切换两个框架?

tkinterpythongui-programming更新于 2025/7/12 17:48:17

在大多数情况下,您需要有多个屏幕,以便用户在程序的不同部分之间切换。实现此目的的一种方法是创建位于主窗口内的单独框架。

A-Frame 小部件用于对应用程序中的太多小部件进行分组。我们可以在两个不同的框架中添加单独的小部件。用户可以通过单击按钮从一个框架切换到另一个框架。

示例

在此应用程序中,我们将创建两个单独的框架greet frame和order frame。每个框架由两个不同的对象组成。将使用按钮在两个不同的框架对象之间切换。

# 导入所需的库
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="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)

# 添加按钮在两个框架之间切换
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()

输出

运行上述代码将显示一个包含两个不同框架的窗口。

可以使用在中定义的按钮将框架从一个切换到另一个它。



相关文章


有用资源