在 tkinter 中何时以及如何使用 pack 或 grid 布局?


Tkinter Pack 几何管理器是所有小部件的边界框。它帮助父小部件在其内部保存和显示所有包含的小部件。它易于使用,我们可以通过使用 pack() 方法来显示任何小部件。此外,pack 管理器还具有其他一些属性,如 side、fill、expand、anchor 和 padding,可用于为应用程序中的小部件设置样式。

还有另一种有用的方法可以保存和表示二维表格中的小部件,该表格被划分为行和列。每一行和每一列都由一个单元格组成,每个单元格代表一个小部件。因此,为了定位小部件并设置小部件的样式,grid 提供了多个选项,例如 sticky、rowspan、columnspan 和 padding。

在本文中,我们将通过两个示例来了解如何在 tkinter 中使用 packgrid 布局。

示例

#Import tkinter library
from tkinter import *
#Create an instance of tkinter frame
win = Tk()
#Set the geometry
win.geometry("750x200")
#Create two frames each for pack and grid respectively
frame1 = Frame(win)
frame2= Frame(win)
# placing widgets top-down in frame1
Button(frame1, text='ALL IS WELL').pack(fill=X)
Button(frame1, text='BACK TO BASICS').pack(fill=X)
Button(frame1, text='CATCH ME IF U CAN').pack(fill=X)
#Placing Widgets side by side
Button(frame1, text='LEFT').pack(side=LEFT)
Button(frame1, text='CENTER').pack(side=LEFT)
Button(frame1, text='RIGHT').pack(side=LEFT)
frame1.pack()
win.mainloop()

输出

执行以上代码将显示一个窗口,其中包含使用 pack 管理器定义的一些按钮。

示例

现在,让我们再举一个例子来了解 grid 几何管理器。

#Import tkinter library
from tkinter import *
#Create an instance of tkinter frame
win = Tk()
#Set the geometry
win.geometry("750x200")
#Create frames each for pack and grid respectively
frame2= Frame(win)
#Create a Label in frame2
Label(frame2, text="Username").grid(row=0, sticky=W)
Label(frame2, text="Password").grid(row=1, sticky=W)
#Create an Entry Widget in Frame2
Entry(frame2).grid(row=0, column=1, sticky=E)
Entry(frame2).grid(row=1, column=1, sticky=E)
#Create Button in Frame2
Button(frame2, text="Login").grid(row=2, column=1, sticky=E)
frame2.pack()
win.mainloop()

输出

执行以上代码将显示一个窗口,其中包含用户名、密码输入小部件和一个按钮。

更新于: 2021年4月16日

2K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.