tkinter的三種幾何布局管理類


1.pack()

  主要采用塊的方式組織子組件

如下:

import tkinter

root=tkinter.Tk()        #創建窗口對象

label=tkinter.Label(root,text='hello,python')    #創建標簽對象

label.pack()     #將label組件添加到窗口中顯示

button1=tkinter.Button(root,text='BUTTON1')   #創建按鈕對象

button1.pack(side=tkinter.LEFT)     #將button1組件添加到窗口中顯示,左停靠

button2=tkinter.Button(root,text='BUTTON2')

button2.pack(side=tkinter.RIGHT)

root.mainloop()    #顯示窗口

效果如下:

 

 

 

2.grid()

  采用表格結構組件子組織,它的兩重要參數:row和column

例子:計算器示例

from tkinter import *
root=Tk()
root.geometry('200x200+280+280') #設置窗口大小
root.title('計算器示例')
L1=Button(root,text='1',width=5,bg='yellow')
L2=Button(root,text='2',width=5)
L3=Button(root,text='3',width=5)
L4=Button(root,text='4',width=5)
L5=Button(root,text='5',width=5,bg='green')
L6=Button(root,text='6',width=5)
L7=Button(root,text='7',width=5)
L8=Button(root,text='8',width=5,bg='yellow')
L9=Button(root,text='9',width=5)
L0=Button(root,text='0')
Lp=Button(root,text='.')
L1.grid(row=0,column=0) #按鈕放在0行0列
L2.grid(row=0,column=1)
L3.grid(row=0,column=2)
L4.grid(row=1,column=0)
L5.grid(row=1,column=1)
L6.grid(row=1,column=2)
L7.grid(row=2,column=0)
L8.grid(row=2,column=1)
L9.grid(row=2,column=2)
L0.grid(row=3,column=0,columnspan=2,sticky=E+W)
Lp.grid(row=3,column=2,sticky=E+W)
root.mainloop() #顯示窗口
效果如下:

 

 

 

3.place()

  允許指定組件的大小與位置,缺點是:改變窗口大小時組件不能隨之靈活地改變大小.

例:

from tkinter import *
root=Tk()
root.title('登錄')
root['width']=200;root['height']=80         #初始化窗口大小
Label(root,text='用戶名',width=6).place(x=1,y=1)  #絕對坐標1,1
Entry(root,width=20).place(x=45,y=1) #輸入控件對象大小及坐標
Label(root,width=20).place(x=45,y=1)
Label(root,text='密碼',width=6).place(x=1,y=20)
Entry(root,width=20,show='*').place(x=40,y=20)
Button(root,text='登錄',width=8).place(x=40,y=40)
Button(root,text='取消',width=8).place(x=110,y=40)
root.mainloop()
效果如下:

 


免責聲明!

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



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