📜  python frame in a frame - Python (1)

📅  最后修改于: 2023-12-03 15:34:00.648000             🧑  作者: Mango

Python Frame in a Frame

在 Python 中,可以在一个主窗口中创建多个框架,每个框架都可以独立地包含其他小部件,以及其他框架。

创建框架

创建框架很容易,只需要使用 tkinter 中的 Frame 类即可。以下代码展示如何在一个主窗口中创建两个框架。

import tkinter as tk

root = tk.Tk()

frame1 = tk.Frame(root, width=200, height=200, bg='blue')
frame1.pack(side=tk.LEFT)

frame2 = tk.Frame(root, width=200, height=200, bg='green')
frame2.pack(side=tk.RIGHT)

root.mainloop()

在上面的代码中,我们使用 tk.Frame 类创建了两个框架 frame1frame2,并指定了它们的宽度、高度和背景颜色。我们还使用 pack 函数将这两个框架分别放在了主窗口的左侧和右侧。

在框架中放置其他小部件和框架

在框架中添加其他小部件和框架同样很容易。以下代码展示了如何在上面例子中的两个框架中添加标签和按钮。

import tkinter as tk

root = tk.Tk()

frame1 = tk.Frame(root, width=200, height=200, bg='blue')
frame1.pack(side=tk.LEFT)

label1 = tk.Label(frame1, text='Hello World!', font=('Arial', 18), fg='white', bg='blue')
label1.pack(pady=50)

frame2 = tk.Frame(root, width=200, height=200, bg='green')
frame2.pack(side=tk.RIGHT)

button1 = tk.Button(frame2, text='Click me!', font=('Arial', 18), fg='white', bg='green')
button1.pack(pady=50)

root.mainloop()

在上面的代码中,我们在 frame1 中添加了一个标签 label1,并在 frame2 中添加了一个按钮 button1。我们也可以在框架中添加其他的小部件和框架。

在框架中创建子框架

在框架中创建子框架也很容易。以下代码展示了如何在 frame1 中创建两个子框架,并在其中一个子框架中添加一个标签。

import tkinter as tk

root = tk.Tk()

frame1 = tk.Frame(root, width=200, height=200, bg='blue')
frame1.pack(side=tk.LEFT)

subframe1 = tk.Frame(frame1, width=100, height=100, bg='red')
subframe1.pack(side=tk.LEFT)

subframe2 = tk.Frame(frame1, width=100, height=100, bg='yellow')
subframe2.pack(side=tk.LEFT)

label1 = tk.Label(subframe1, text='Hello World!', font=('Arial', 18), fg='white', bg='red')
label1.pack(pady=20)

frame2 = tk.Frame(root, width=200, height=200, bg='green')
frame2.pack(side=tk.RIGHT)

root.mainloop()

在上面的代码中,我们在 frame1 中创建了两个子框架 subframe1subframe2,并在 subframe1 中添加了一个标签 label1。我们使用 side=tk.LEFT 让两个子框架并排放置。

总结

在 Python 中创建框架很容易,只需要使用 tkinter 中的 Frame 类即可。创建框架后,我们可以在其中放置其他小部件和框架,也可以在其中创建子框架。