欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python连载61-tkinter三种布局

程序员文章站 2022-03-25 17:57:15
一、pack布局举例 #pack布局案例 import tkinter baseFrame = tkinter.Tk() #以下代码都是创建一个组件,然后布局 btn1 = tkinter.Button(baseFrame,text="A") btn1.pack(side=tkinter.LEFT, ......

一、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三种布局