📜  Python Tkinter – 框架小部件(1)

📅  最后修改于: 2023-12-03 14:46:05.221000             🧑  作者: Mango

Python Tkinter – 框架小部件

Python Tkinter是一个流行的Python GUI库,可用于创建桌面应用程序。框架小部件是Tkinter中的一部分,用于将多个小部件组合在一起以形成更大的布局或小部件。

Frame(框架)小部件

在Tkinter中,Frame是用于容纳其他小部件的大小可调的矩形容器。Frame允许在相同画布内组合和管理多个小部件,并且允许这些小部件在框架内进行自由布局。

下面是一个基本的示例代码,用于创建一个Tkinter窗口并添加一个框架小部件:

import tkinter as tk

# 创建窗口
root = tk.Tk()
root.geometry("400x400")

# 创建框架并将其添加到窗口中
frame = tk.Frame(root, bg="lightblue")
frame.pack(expand=True, fill="both")

root.mainloop()
  • 首先,我们导入了Tkinter库并创建了一个命名为root的主窗口。
  • 接着,我们使用tk.Frame()函数创建一个框架,并将其添加到主窗口中,指定了框架的背景颜色。
  • 在最后一行,我们调用窗口的mainloop()函数,这将在窗口中运行GUI的主循环。
小部件布局

使用pack()grid()place()三个函数可以完成小部件布局。

  1. pack()函数

pack()函数可用于将小部件放置在框架中。以下示例代码演示如何使用pack()函数将三个按钮添加到框架中,并使这些按钮在框架中从上到下呈垂直布局。

# 创建三个按钮,添加到框架中并垂直排列
button1 = tk.Button(frame, text="Button 1")
button1.pack(side="top", fill="x")

button2 = tk.Button(frame, text="Button 2")
button2.pack(side="top", fill="x")

button3 = tk.Button(frame, text="Button 3")
button3.pack(side="top", fill="x")
  • pack(side="top")指定将小部件放置在框架的顶部。
  • pack(fill="x")格式化小部件以最大宽度填充整个框架。
  1. grid()函数

使用grid()函数,将小部件放置在框架中更加灵活。示例代码如下:

# 创建三个按钮,添加到框架中并使用grid进行排列
button1 = tk.Button(frame, text="Button 1")
button1.grid(row=0, column=0)

button2 = tk.Button(frame, text="Button 2")
button2.grid(row=0, column=1)

button3 = tk.Button(frame, text="Button 3")
button3.grid(row=1, column=0, columnspan=2, sticky="we")
  • grid()函数根据行和列的索引将小部件放置在框架中。
  • columnspan指定单元格跨越的列数。
  • sticky参数指定小部件如何填充所在的单元格,这里是"we",表示水平方向伸展填充。
  1. place()函数

使用place()函数,使得小部件的位置可以像绝对定位那样精确地指定。示例代码如下:

# 创建三个按钮,添加到框架中并使用place进行排列
button1 = tk.Button(frame, text="Button 1")
button1.place(x=10, y=10)

button2 = tk.Button(frame, text="Button 2")
button2.place(x=50, y=50)

button3 = tk.Button(frame, text="Button 3")
button3.place(x=100, y=100)
总结

本篇文章介绍了如何使用Python Tkinter中的框架小部件,以组合和安排其他小部件。Pack()、grid()和place()函数可用于布置小部件。希望这篇文章有助于您在Python桌面应用程序中使用Tkinter库。