首页/文章/ 详情

【G-2】Python GUI中Tkinter控件布局之pack( )

2年前浏览5280

Tkinter的一些控件,如Label、Button等在窗口或其他容器中的布局、放置有3种方法:pack()、grid()、place()。


本篇先讲pack()方法,重点介绍pack()的下列参数用法。

  • side

  • anchor

  • padx/pady

  • ipadx/ipady

  • fill

  • expand

1 简单装


初步了解pack()包装控件。


下面P8-G2-Pack-1.py中,在顶层窗口root中创建了3个Label(标签),使用pack()布局控件。


!!!程序第3、4行为对控件的参数定义,可以直接改第3、4行的参数值,避免到下面程序中改,这样便于改参数,运行程序,对比结果。

上图pack()中没有任何参数,3个标签按照默认居中自上向下排列,程序运行结果如下图所示。


2 定方向


使用pack()的side参数定义控件排列方向。


下面P9-G2-Pack-2.py中,第5行定义了3个参数,用于定义3个标签控件的排列方向,对应18、19、20行。


改第5行参数,运行程序,可对比不同排列效果。


3 抛锚了


使用pack()的anchor参数定义控件位置。


下面P10-G2-Pack-3.py中,第6行定义了anchor_k参数,在19、20、21行用到。注意anchor参数值:大写格式、小写带引号格式(推荐)。


改第5、6行参数,运行程序,可对比不同排列、布局效果。

注意:下面图中side_k、anchor_k的值。


4 挑拨离间


使用pack()的padx/pady参数定义控件外边距,使用ipadx/ipady定义控件内边距。


下面P11-G2-Pack-4.py中,第6行定义了4个参数,用于定义控件内外边距,在18、19、20行用到。


改第6行参数,运行程序,可对比不同内外边距效果。也可改第5行参数,组合对比。


5 开疆扩土


使用pack()的fill、expand参数定义控件在窗口或容器内的填充方式、随窗口尺寸变化。


下面P12-G2-Pack-5.py中,第7、8行为3个控件各定义了fill、expand参数,在20、21、22行用到。


改第7、8行参数,运行程序,可对比不同填充方式、随窗口变化效果。

运行程序,拖动窗口边,改变窗口大小,观察标签控件变化。


6 小结

纸上得来终觉浅,绝知此事要躬行。

参数组合,不计其数,知其所以然,以取所需。

来源:AbaPY
科普python
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-09-07
最近编辑:2年前
KongXH
博士 专注于有限元分析领域,联合创作...
获赞 49粉丝 100文章 59课程 1
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈