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


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

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

示例

在这个应用程序中,我们将创建一个单独的框架问候框架订单框架。每个框架由两个不同的对象组成。一个按钮将用于在两个不同的框架对象之间进行切换。

# Import the required libraries
from tkinter import *
from tkinter import font

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Create two frames in the window
greet = Frame(win)
order = Frame(win)

# Define a function for switching the frames
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()

# Create fonts for making difference in the frame
font1 = font.Font(family='Georgia', size='22', weight='bold')
font2 = font.Font(family='Aerial', size='12')

# Add a heading logo in the frames
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)

# Add a button to switch between two frames
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()

输出

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

可以使用其中定义的一个按钮在这些框架之间进行切换。


更新时间:18-06-2021

10K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始
广告