好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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() 效果如下:

查看更多关于tkinter的三种几何布局管理类的详细内容...

  阅读:17次