
gui 界面窗口中的 grid 布局管理器
在设计 gui 界面时,网格布局管理器提供了强大的功能,可以灵活地排列窗口中的组件。为了解决上述问题,需要正确理解 grid 布局管理器的使用和与其关联的最佳实践。
-
不要混用 pack 和 grid 布局器:
pack 和 grid 是两种截然不同的布局器,在同一个窗口中混用它们可能会导致 python 无法正确处理布局。在这篇示例中,label3 及其父 frame 组件应使用 grid 布局器,而不是 pack。 -
正确使用 grid 布局器的行列值:
在对 tx1 和 tx2 文本框调用 grid 方法时,必须指定其行列值。这允许布局管理器准确地定位这些组件。
修改后的示例代码:
from tkinter import *
root = Tk()
# 使用 Grid 布局管理器
root.grid_configure()
# 创建 Label
Label1 = Label(root, text="第一个数字:")
Label2 = Label(root, text="第二个数字:")
Label3 = Label(root, text="结果:")
# 创建文本框
tx1 = Entry(root)
tx2 = Entry(root)
# 按钮
btn = Button(root, text="计算", command=lambda: calc(tx1.get(), tx2.get()))
# 放置组件
Label1.grid(row=0, column=0)
tx1.grid(row=0, column=1)
Label2.grid(row=1, column=0)
tx2.grid(row=1, column=1)
Label3.grid(row=2, column=0)
btn.grid(row=2, column=1)
def calc(num1, num2):
Label3["text"] = "结果:" + str(int(num1) + int(num2))
root.mainloop()通过遵循这些准则,可以使用 grid 布局管理器轻松创建自定义布局的 gui 界面窗口,并在组件之间实现预期交互。










