1. 程式人生 > 程式設計 >Python tkinter三種佈局例項詳解

Python tkinter三種佈局例項詳解

這篇文章主要介紹了Python tkinter三種佈局例項詳解,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、pack佈局舉例

#
pack佈局案例
import tkinter
baseFrame = tkinter.Tk()
# 以下程式碼都是建立一個元件, 然後佈局
btn1 = tkinter.Button(baseFrame,text =
	"A")
btn1.pack(side = tkinter.LEFT,expand =
	tkinter.YES,fill = tkinter.Y)
​
btn2 = tkinter.Button(baseFrame,text =
	"B")
btn2.pack(side = tkinter.TOP,fill = tkinter.BOTH)
​
btn2 = tkinter.Button(baseFrame,text =
	"C")
btn2.pack(side = tkinter.RIGHT,fill = tkinter.NONE)
​
btn2 = tkinter.Button(baseFrame,text =
	"D")
btn2.pack(side = tkinter.LEFT,expand =
	tkinter.NO,text =
	"F")
btn2.pack(side = tkinter.BOTTOM,expand =
	tkinter.YES)
​
btn2 = tkinter.Button(baseFrame,text =
	"G")
btn2.pack(anchor = tkinter.SE)
​
baseFrame.mainloop()

二、grid佈局舉例

1.通用使用方式:元件物件,grid(設定.......)

2.利用row,column編號,都是從0開始

3.sticky:N\E\S\W表示上下左右,用來決定元件從哪個方向開始

4.支援ipadx,padx等引數,跟pack函式含義一樣

5.支援rowspan,columnspan,表示跨行,跨列數量

#
pack佈局案例
import tkinter
# baseFrame = tkinter.Tk()
## 以下程式碼都是建立一個元件, 然後佈局
# btn1 = tkinter.Button(baseFrame,text =
	"A")
# btn1.pack(side = tkinter.LEFT,fill = tkinter.Y)
#
# btn2 = tkinter.Button(baseFrame,text =
	"B")
# btn2.pack(side = tkinter.TOP,fill = tkinter.BOTH)
#
# btn2 = tkinter.Button(baseFrame,text =
	"C")
# btn2.pack(side = tkinter.RIGHT,expand = tkinter.YES,fill = tkinter.NONE
)
#
# btn2 = tkinter.Button(baseFrame,text =
	"D")
# btn2.pack(side = tkinter.LEFT,text =
	"F")
# btn2.pack(side = tkinter.BOTTOM,expand = tkinter.YES)
#
# btn2 = tkinter.Button(baseFrame,text =
	"G")
# btn2.pack(anchor = tkinter.SE)
#
#
# baseFrame.mainloop()
​
baseFrame2 = tkinter.Tk()
​
lb1 = tkinter.Label(baseFrame2,text =
	"賬號:")
lb1.grid(row = 0,sticky = tkinter.W)
tkinter.Entry(baseFrame2).grid(row = 0,column = 1,sticky = tkinter.E)
​
lb2 = tkinter.Label(baseFrame2,text =
	"密碼:")
lb2.grid(row = 1,sticky = tkinter.W)
tkinter.Entry(baseFrame2).grid(row = 1,sticky = tkinter.E)
​
button = tkinter.Button(baseFrame2,text = "登入").grid(row = 2,sticky = tkinter.E)
baseFrame2.mainloop()

三、place佈局

1.明確方位的擺放

2.相對位置佈局,隨意改變視窗大小會導致混亂。

3.使用place函式,分為絕對佈局和相對佈局,絕對佈局使用x,y引數

4.相對佈局使用relx.rely,relheight,relwidth.

四、原始碼

D61_ThreeFrameOfTkinter.py

https://github.com/ruigege66/Python_learning/blob/master/D61_ThreeFrameOfTkinter.py​

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。