本文实例讲述了Python GUI编程学习笔记之tkinter界面布局显示。分享给大家供大家参考,具体如下:
相关内容:
- pack
- 介绍
- 常用参数
- 使用情况
- 常用函数
- grid
- 介绍
- 常用参数
- 使用情况
- 常用函数
- place
- 介绍
- 常用参数
- 使用情况
- 常用函数
首发时间:2018-03-04 14:20
pack:
- 介绍:
- 常用参数:
- fill:填充分配给控件的空间,fill:X为填充X轴方向,Y为Y轴方向,BOTH为X+Y

- expand:先按普通标准来规定控件大小,如果后面窗口还剩下空间,那么会分给那些expand=True的控件,如图中是两个不同大小的按钮,其中2expand=True
,当使用expand=True时,side将不会生效! - side:使控件靠窗口的指定方向并排,side可取值LEFT,RIGHT,TOP,BOTTOM.

- anchor:对齐方式,可取值“n”, “s”, “w”, “e”, “nw”, “sw”, “se”, “ne”, “center”(默认为” center”)

- ipadx, ipady:内边距
- padx,pady:外边距
- fill:填充分配给控件的空间,fill:X为填充X轴方向,Y为Y轴方向,BOTH为X+Y
- 适用情况:与gird相比,pack有一定的局限性,但在一些但很常见的情况下使用起来要容易得多:
- 将一个小部件放入一个框架(或任何其他容器小部件)中,并让它填充整个框架
- 将多个小部件放在一起
- 并排放置一些小部件
- 补充:
- 常用函数:
- pack_propagate(flag):由窗口调用来配置pack控件时窗口的大小,当flag=0时,那么窗口大小将不再仅仅包裹住所有控件,这时候窗口的高度和宽度设置才可以生效
- pack_forget():移除控件,但并没有进行摧毁,可以再次使用pack或其他方式来显示
- pack_info():返回pack提供的选项所对应得值。
- pack_slaves():以列表方式返回本组件的所有子组件对象。
- 常用函数:
from tkinter import * root=Tk() # for i in range(10): ##side # btn = Button(text=i) # btn.pack(side=LEFT) # btn.pack(side=RIGHT) # btn.pack(side=(TOP,LEFT)) ####fill # btn.pack(fill=X) # btn.pack(side=LEFT,fill=Y) # btn.pack(fill=BOTH) ##expand # btn1=Button(text=1,bg='green') # btn2=Button(text=2,bg='yellow') # btn1.pack(fill=X) # btn2.pack(expand=True) #anchor: # btn1=Button(text=1,bg='green') # btn2=Button(text=2,bg='yellow') # btn1.pack(fill=X) # btn2.pack(anchor=E) #pack_propagete # btn1=Button(text=1,bg='green') # btn2=Button(text=2,bg='yellow') # root.pack_propagate(0) # btn1.pack() # btn2.pack() #pack_forget: # import time,threading # label=Label(text="警告!") # label.pack() # def run(): # start_time=time.time() # while True: # if time.time()-start_time>3: # label.pack_forget() # break # t=threading.Thread(target=run) # t.setDaemon(True) # t.start() root.mainloop()
grid:
from tkinter import *
root=Tk()
root.title("我的窗口")
label_user=Label(text='用户名:',bg='green')
label_pwd=Label(text='密码:',bg='green')
user=Entry()
pwd=Entry()
# row,column,sticky
label_user.grid(row=0,column=0,sticky=W) #一个有sticky,一个没有sticky,以作区分
label_pwd.grid(row=1,column=0)
# rowspan,columnspan
user.grid(row=0,column=1)
pwd.grid(row=1,column=1)
btn=Button(text="提交")
btn.grid(row=0,column=3,rowspan=2,columnspan=2,padx=5, pady=5)
# 下面主要是将第一列拉大来显示上面sticky的效果
v=IntVar()
check=Checkbutton(text="下次自动登录",variable=v,)
check.grid(row=2,column=0,sticky=W)
# _forget:
import time,threading
label=Label(text="欢迎登录!",bg='blue')
label.grid()
def run():
start_time=time.time()
while True:
if time.time()-start_time>3:
label.grid_forget()
break
t=threading.Thread(target=run)
t.setDaemon(True)
t.start()
root.mainloop()
place:
from tkinter import *
root=Tk()
root.geometry('100x100')
label=Label(text="用户名:",bg='green')
entry=Entry()
label.pack(fill=X)
#x,y
# entry.place(x=0,y=0)
#relx,rely
# entry.place(relx=0.3, rely=0.3)
# entry.place(relx=0.5, rely=0.5)
#relheight,relwidth
# entry.place(relx=0.5, rely=0.5,relheight=0.5,relwidth=0.5)
#_forget:
import time,threading
label2=Label(text="警告!",bg='blue')
label2.place(relx=0.2,rely=0.2)
def run():
start_time=time.time()
while True:
if time.time()-start_time>3:
label2.place_forget()
break
t=threading.Thread(target=run)
t.setDaemon(True)
t.start()
root.mainloop()
想要了解更多,可以参考tkinter的官方文档:http://effbot.org/tkinterbook/
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“Python GUI编程学习笔记之tkinter界面布局显示详解”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2025年10月30日
2025年10月30日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]









