今天要介绍的是grid()方法,这个方法就像表格式排版,控件是依据指定的索引位置, 放入表格中,很适合用来处理复杂的页面,一个网格row 跟 column 只能放一个元件,不过也可以用 rowspan跟 columnspan 参数合并邻近的多个网格来放置一个元件,这些参数并不一定要加,没有传入参数时会以预设值排版,常用参数有row、column、rowspan、columnspan、padx/pady、ipadx/ipady 跟 sticky,padx/pady、ipadx/ipady,这几个参数基本上跟pack()用法是一样的
❗❗❗ 要注意一个视窗中不能同时使用 pack 与 grid 排版, 但 place 却可以与 pack 或 grid 同时使用 ❗❗❗
♠♣今天的文章大纲♥♦
row跟column的起始直都是0,但是没有特别去设定的话,预设值是1
import tkinter as tk
root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry("300x150")
L1=tk.Label(root,text='I am Label',bg='#DDA0DD',fg="#8B008B",
font=("Algerian",18,"bold"))
L2=tk.Label(root,text='Welcome',bg='#6495ED',fg="#AFEEEE",
font=("Algerian",18,"bold"))
L3=tk.Label(root,text='Thank you',bg='#FFFACD',fg="#DAA520",
font=("Algerian",18,"bold"))
L1.grid(row=0,column=0)#网格方法
L2.grid(row=1,column=2)#网格方法
L3.grid(row=1,column=0)#网格方法
root.mainloop()
其实跟pack参数一样,只是需要设定好哪个标签要在哪个位置
下图为执行结果⬇⬇⬇
L1.grid(row=0,column=0,columnspan=2)#网格方法
L2.grid(row=1,column=1)#网格方法
L3.grid(row=1,column=0)#网格方法
下图为执行结果⬇⬇⬇
L1.grid(row=0,column=0)#网格方法
L2.grid(row=0,column=1,rowspan=2)#网格方法
L3.grid(row=1,column=0)#网格方法
下图为执行结果⬇⬇⬇
这个餐数与 pack() 排版的锚定参数 anchor 很像,但只能设定 E/W/S/N 四个常数,也就是上/下/左/右或用组合的方法
sticky 参数的组合使用:
sticky=N+S:拉长高度使控件在顶端和底端对齐
sticky=W+E:拉长宽度度使控件在左边和右边对齐
sticky=N+S+E:拉长高度使控件在顶端和底端对齐且同时切齐右边
sticky=N+S+W:拉长高度使控件在顶端和底端对齐且同时切齐左边
sticky=N+S+W+E:拉长高度使控件在顶端和底端对齐且同时切齐左右两边
L1.grid(row=0,column=0,columnspan=2,sticky=tk.E+tk.W)#网格方法
L2.grid(row=1,column=1)#网格方法
L3.grid(row=1,column=0)#网格方法
下图为执行结果⬇⬇⬇
以上就是grid()方法的介绍,有任何问题都可以留言喔,明天就要来聊聊最後一个place()方法了~
<<: Day-18 再次点亮那传递无尽创意的紫色魔方 GameCube
>>: [Tableau Public] day 19:试着分析appstore资料集-4
上架 一.打包APK 1.选Buile-Generate Signed Bundle/APK 2.选...
「注意,您的表单尚未填写完成」 好,我知道了。 (按下确定) 欸? 为什麽关不掉!? 不是按下确定...
前言 昨天聊到原子操作时提到了2个名词, 有些人可能不熟, 会在今天简单说明。明天会有相应的实作。 ...
写在前面 test for placeholder test for placeholder tes...
那昨天後来自己在玩写好的脚本时,发现了会有逻辑上的错误,导致物件撞墙时,会不断产生抖动,而之後也去U...