python tkinter元件擺放方式詳解
阿新 • • 發佈:2020-01-09
1.最小介面組成
# 匯入tkinter模組 import tkinter # 建立主視窗物件 root = tkinter.Tk() # 設定視窗大小(最小值:畫素) root.minsize(300,300) # 建立一個按鈕元件 btn = tkinter.Button(root,text = '屠龍寶刀,點選送') btn.pack() # 加入訊息迴圈 root.mainloop()
設定初始化介面大小
# 設定初始化介面大小 root.geometry('300x400')
2.元件的擺放方式:
1.pack()方式 ->方向/方位擺放方法
2.grid()方式 ->網格擺放方法
3.place()方式 ->定位擺放方法
3.pack佈局介紹
pack()方式:
side 設定元件相對於父元件的擺放位置
# 匯入tkinter模組 import tkinter # 建立主視窗物件 root = tkinter.Tk() # 設定視窗大小(最小值:畫素) root.minsize(500,500) # 建立一個按鈕元件 btn0 = tkinter.Button(root,text = '按鈕1') # 預設上邊或 side = 'top' btn0.pack() btn1 = tkinter.Button(root,text = '按鈕1') # 下面 btn1.pack(side = 'bottom') btn2 = tkinter.Button(root,text = '按鈕2') # 左邊 btn2.pack(side = 'left') btn3 = tkinter.Button(root,text = '按鈕2') # 右邊 btn3.pack(side = 'right') # 加入訊息迴圈 root.mainloop()
ipadx,ipady 設定元件的內部間距
btn0 = tkinter.Button(root,text = '按鈕1') # 設定按鈕中文字到邊緣的間距 btn0.pack(ipadx = 20,ipady = 20)
padx,pady 設定多個元件外部間距
btn0 = tkinter.Button(root,text = '按鈕1') # padx設定元件外部左右間距,pady設定元件外部上下間距 btn0.pack(padx = 20,pady = 20)
fill 設定按鈕站一行或者一列
btn1 = tkinter.Button(root,text = '屠龍寶刀點選就送!')# 該元件站水平方向的最大位置btn.pack(fill = 'x')btn2 = tkinter.Button(root,text = '屠龍寶刀點選就送!')# 該元件站垂直方向的最大位置,但必須是side = 'right'或'left'才會生效btn2.pack(fill = 'y',side = 'right')
expand 設定side是否失效
btn1 = tkinter.Button(root,text = '屠龍寶刀點選就送!') # yes時side失效,按鈕位於視窗中間,按鈕佔用所有水平和垂直的空間,此時fill = both 按鈕站全部空間 btn1.pack(expand = 'yes',fill = 'both')
注意:僅僅使用pack無法實現表格方式,必須藉助Franme元件才可以實現,非常複雜。
grid()方式:
row 設定行數 預設為0
column 設定列數 預設為0
btn1 = tkinter.Button(root,text = '按鈕1') btn1.grid() btn2 = tkinter.Button(root,text = '按鈕2') btn2.grid(row = 1,column = 1)# 設定按鈕位置 btn3 = tkinter.Button(root,text = '按鈕3') btn3.grid(row = 0,column = 1)
rowspan 設定跨行數量
cloumnspan 設定跨列數量
ipadx,ipady 設定元件內部間距
btn1 = tkinter.Button(root,column = 0)# 設定按鈕位置 btn2 = tkinter.Button(root,text = '按鈕2') btn2.grid(row = 0,column = 2,rowspan = 2,ipady = 15) btn2 = tkinter.Button(root,text = '按鈕2') btn2.grid(row = 2,column = 0,columnspan = 3,ipadx = 20)
place()方式:
絕對定位佈局:
x 設定距離左上角的水平長度 單位都是畫素
y 設定距離左上角的垂直高度 單位都是畫素
width 設定元件所佔據的寬度 單位都是畫素
height 設定元件所佔據的高度 單位都是畫素
btn = tkinter.Button(root,text = '按鈕') # 位置距離左邊100畫素,距離上邊20畫素 btn.place(x = 100,y = 20) btn1 = tkinter.Button(root,text = '按鈕1') # 設定按鈕的寬度和高度 btn1.place(x = 100,y = 100,width = 100,height = 100)
相對定位佈局:
relx 設定距離左上角的水平長度 取值(0-1)
rely 設定距離左上角的垂直高度 取值(0-1)
relwidth 設定元件所佔據的寬度 取值(0-1)
relheight 設定元件所佔據的高度 取值(0-1)
以上屬性設定都是相對於介面寬度或者高度的百分比,可以更具介面的大小的改變而改變~!
!!!禁止同時使用兩種擺放方式
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。