布局管理之Grid布局

2021-10-01 22:16:19 字數 1286 閱讀 3223

tkinter grid常用選項:

column 指定將元件放入哪列,第一列的索引為 0。

columnspan 指定元件橫跨多少列。

row 指定元件放入哪行,第一行的索引為 0。

rowspan 指定元件橫跨多少行。

sticky 對齊方式,類似 pack() 方法的 anchor 選項,同樣支援 n、e、s、w、nw、ne、sw、se、center。

兩控制項不一樣大小時,可拉伸:

sticky=n+s:拉伸高度,使其在水平方向上頂端和底端都對齊

sticky=e+w,拉伸寬度,使其在垂直方向上左邊界和右邊界都對齊

sticky=n+s+e:拉伸高度,使其在水平方向上對齊,並將控制項放在右邊(當兩個控制項放在同一行同一列時效果明顯)

ipadx 指定元件在 x 方向(水平)上的內部留白。按鈕的邊框與文字距離

ipady 指定元件在 y 方向(水平)上的內部留白。

padx 指定元件在 x 方向(水平)上與其他元件的間距。兩個按鈕之間距離

pady 指定元件在 y 方向(水平)上與其他元件的間距。

注意:同級別之內不能混用pack和grid布局

from tkinter import *

root = tk()

root.title('grid布局')

root.resizable(0,0)

#relief 3d(flat,raised,sunken,groove,ridge)

entry(relief=sunken, font=('courier new', 24), width=24).pack(side=top, pady=5)

p = frame(root)

p.pack(side=top)

names = ("0", "1", "2", "3","4", "5", "6", "7", "8", "9","+", "-", "*", "/", ".", "=","cls", "bck", "close")

for i in range(len(names)):

b = button(p, text=names[i], font=('verdana', 20), width=6)

if names[i] == 'close':

b.grid(row=i // 4, column=i % 4, columnspan=2,ipadx=56)

b.grid(row=i // 4, column=i % 4)

root.mainloop()

布局篇 Grid布局

特點 1 可以定義任意數量的行和列 2 行的高度和列的寬度可以使用絕對值 相對比例或自動調整的方式,可設定最大值和最小值 3 內部元素可以設定自己所在的行 列,還可以設定跨越幾行 幾列 4 可以設定內部元素的對齊方向 grid類具有columndefinitions和rowdefinitions兩個...

Grid布局(網格布局)

網格布局 grid 是 css 中乙個布局方案。它將網頁劃分成乙個個網格,可以任意組合不同的網格,做出各種各樣的布局。以前,只能通過複雜的 css 框架達到的效果,現在瀏覽器內建了。下面這樣的布局,就是grid布局。grid 布局與 flex 布局有一定的相似性,都可以指定容器內部多個專案的位置。但...

網格布局(grid布局)

他可以將頁面分為多個網格,可以任意組合不同的網格 做出各種各樣的布局。網格布局為二維性質的。grid row gap 1rem 行間距 grid column gap 1rem 列間距 grid gap 1rem 設定行列間距 grid template columns 列寬和列數 grid tem...