Python连载61-tkinter三种布局

ladysosoli 2020-01-04

一、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,expand=tkinter.YES,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,expand=tkinter.NO,fill=tkinter.Y)

?

btn2 = tkinter.Button(baseFrame,text="F")

btn2.pack(side=tkinter.BOTTOM,expand=tkinter.YES)

?

btn2 = tkinter.Button(baseFrame,text="G")

btn2.pack(anchor=tkinter.SE)

?

baseFrame.mainloop()

Python连载61-tkinter三种布局

二、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,expand=tkinter.YES,fill=tkinter.Y)

#

# btn2 = tkinter.Button(baseFrame,text="B")

# btn2.pack(side=tkinter.TOP,expand=tkinter.YES,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,expand=tkinter.NO,fill=tkinter.Y)

#

# btn2 = tkinter.Button(baseFrame,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,column=1,sticky=tkinter.E)

?

button = tkinter.Button(baseFrame2,text="登录").grid(row=2,column=1,sticky=tkinter.E)

?

baseFrame2.mainloop()

Python连载61-tkinter三种布局

三、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?

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 Python连载61-tkinter三种布局

相关推荐