python_tkinter組件擺放方式


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,text = '按鈕1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按鈕2')
btn2.grid(row = 1,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)

  以上屬性設置都是相對於界面寬度或者高度的百分比,可以更具界面的大小的改變而改變~!

    !!!禁止同時使用兩種擺放方式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM