python tkinter 布局_python tkinter组件摆放方式详解
1.最小界面組成
# 導(dǎo)入tkinter模塊
import tkinter
# 創(chuàng)建主窗口對(duì)象
root = tkinter.Tk()
# 設(shè)置窗口大小(最小值:像素)
root.minsize(300,300)
# 創(chuàng)建一個(gè)按鈕組件
btn = tkinter.Button(root,text = '屠龍寶刀,點(diǎn)擊送')
btn.pack()
# 加入消息循環(huán)
root.mainloop()
設(shè)置初始化界面大小
# 設(shè)置初始化界面大小
root.geometry('300x400')
2.組件的擺放方式:
1.pack()方式 ->方向/方位擺放方法
2.grid()方式 ->網(wǎng)格擺放方法
3.place()方式 ->定位擺放方法
3.pack布局介紹
pack()方式:
side 設(shè)置組件相對(duì)于父組件的擺放位置
# 導(dǎo)入tkinter模塊
import tkinter
# 創(chuàng)建主窗口對(duì)象
root = tkinter.Tk()
# 設(shè)置窗口大小(最小值:像素)
root.minsize(500,500)
# 創(chuàng)建一個(gè)按鈕組件
btn0 = tkinter.Button(root,text = '按鈕1')
# 默認(rèn)上邊或 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')
# 加入消息循環(huán)
root.mainloop()
ipadx,ipady 設(shè)置組件的內(nèi)部間距
btn0 = tkinter.Button(root,text = '按鈕1')
# 設(shè)置按鈕中文字到邊緣的間距
btn0.pack(ipadx = 20,ipady = 20)
padx,pady 設(shè)置多個(gè)組件外部間距
btn0 = tkinter.Button(root,text = '按鈕1')
# padx設(shè)置組件外部左右間距,pady設(shè)置組件外部上下間距
btn0.pack(padx = 20,pady = 20)
fill 設(shè)置按鈕站一行或者一列
btn1 = tkinter.Button(root,text = '屠龍寶刀點(diǎn)擊就送!')# 該組件站水平方向的最大位置btn.pack(fill = 'x')btn2 = tkinter.Button(root,text = '屠龍寶刀點(diǎn)擊就送!')# 該組件站垂直方向的最大位置,但必須是side = 'right'或'left'才會(huì)生效btn2.pack(fill = 'y',side = 'right')
expand 設(shè)置side是否失效
btn1 = tkinter.Button(root,text = '屠龍寶刀點(diǎn)擊就送!')
# yes時(shí)side失效,按鈕位于窗口中間,按鈕占用所有水平和垂直的空間,此時(shí)fill = both 按鈕站全部空間
btn1.pack(expand = 'yes',fill = 'both')
注意:僅僅使用pack無法實(shí)現(xiàn)表格方式,必須借助Franme組件才可以實(shí)現(xiàn),非常復(fù)雜。
grid()方式:
row 設(shè)置行數(shù) 默認(rèn)為0
column 設(shè)置列數(shù) 默認(rèn)為0
btn1 = tkinter.Button(root,text = '按鈕1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按鈕2')
btn2.grid(row = 1,column = 1)# 設(shè)置按鈕位置
btn3 = tkinter.Button(root,text = '按鈕3')
btn3.grid(row = 0,column = 1)
rowspan 設(shè)置跨行數(shù)量
cloumnspan 設(shè)置跨列數(shù)量
ipadx,ipady 設(shè)置組件內(nèi)部間距
btn1 = tkinter.Button(root,text = '按鈕1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按鈕2')
btn2.grid(row = 1,column = 0)# 設(shè)置按鈕位置
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()方式:
絕對(duì)定位布局:
x 設(shè)置距離左上角的水平長度 單位都是像素
y 設(shè)置距離左上角的垂直高度 單位都是像素
width 設(shè)置組件所占據(jù)的寬度 單位都是像素
height 設(shè)置組件所占據(jù)的高度 單位都是像素
btn = tkinter.Button(root,text = '按鈕')
# 位置距離左邊100像素,距離上邊20像素
btn.place(x = 100,y = 20)
btn1 = tkinter.Button(root,text = '按鈕1')
# 設(shè)置按鈕的寬度和高度
btn1.place(x = 100,y = 100,width = 100,height = 100)
相對(duì)定位布局:
relx 設(shè)置距離左上角的水平長度 取值(0-1)
rely 設(shè)置距離左上角的垂直高度 取值(0-1)
relwidth 設(shè)置組件所占據(jù)的寬度 取值(0-1)
relheight 設(shè)置組件所占據(jù)的高度 取值(0-1)
以上屬性設(shè)置都是相對(duì)于界面寬度或者高度的百分比,可以更具界面的大小的改變而改變~!
!!!禁止同時(shí)使用兩種擺放方式
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持愛蒂網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的python tkinter 布局_python tkinter组件摆放方式详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么攒不下钱了 这三个阶段的人最烧钱
- 下一篇: java 创建线程_【80期】说出Jav