在 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.