【Python_GUI】thinker布局管理——pack()方法

发布于:2024-07-08 ⋅ 阅读:(60) ⋅ 点赞:(0)

pack()方法是比较常用的布局组件之一:其语法如下:

widget.pack(options)

其常用的参数及含义如下:

参数 含义
side 设置组件水平展示或垂直展示
padx 设置组件距离窗口的水平距离
pady 设置组件距离窗口的垂直距离
ipadx 设置组件内的文字距离组件边界的水平距离
ipady 设置组件内的文字距离组件边界的垂直距离
fill 设置组件填充所在的空白空间的方式
expand 设置组件是否完全填充其余空间
anchor 设置组件在窗口的位置
before 设置该组件应该位于指定组件的前面
after 设置该组件应该位于指定组件的后面

设置窗口中的三行文字,从左向右依次排列:

from tkinter import *

win=Tk()
#标题
win.title('窗口')
#窗口大小
win.geometry('200x200')
txt1='111'
txt2='222'
txt3='333'
Label(win,text=txt1,bg='#F5DFCC').pack(side='left')
Label(win,text=txt2,bg='#EDB584').pack(side='left')
Label(win,text=txt3,bg='#EF994C').pack(side='left')

win.mainloop()

而如果将side='left'改为side='bottom',则运行效果:

Label(win,text=txt1,bg='#F5DFCC').pack(side='bottom')
Label(win,text=txt2,bg='#EDB584').pack(side='bottom')
Label(win,text=txt3,bg='#EF994C').pack(side='bottom')

如果增加padx、pady参数,就可以设置组件边界距离窗口边界的距离,单位为px:

txt1='1111111111'
txt2='222'
txt3='333'
Label(win,text=txt1,bg='#F5DFCC',width=30).pack(side='bottom',padx=20,pady=5)
Label(win,text=txt2,bg='#EDB584',width=30).pack(side='bottom',padx=20,pady=5)
Label(win,text=txt3,bg='#EF994C',width=30).pack(side='bottom',padx=20,pady=5)

仿制一个“是否确认退出”窗口:

from tkinter import *

win=Tk()
#标题
win.title('确认退出?')
win.geometry('350x150')
t1='确定退出本窗口吗?'
t2='我再想想'
t3='确认退出'
txt1=Label(win,text=t1)
txt2=Label(win,text=t2,bg='blue')
txt3=Label(win,text=t3,bg='red')
txt1.pack(fill='x',pady='20')
txt2.pack(side='right',padx='10',ipadx='6',pady='20',anchor='se')
txt3.pack(side='right',padx='10',ipadx='6',pady='20',anchor='se')
win.mainloop()


网站公告

今日签到

点亮在社区的每一天
去签到