python tkinter组件摆放方式详解


Posted in Python onSeptember 16, 2019

1.最小界面组成

# 导入tkinter模块
import tkinter
# 创建主窗口对象
root = tkinter.Tk()
# 设置窗口大小(最小值:像素)
root.minsize(300,300)
# 创建一个按钮组件
btn = tkinter.Button(root,text = '屠龙宝刀,点击送')
btn.pack()
# 加入消息循环
root.mainloop()

设置初始化界面大小

# 设置初始化界面大小
root.geometry('300x400')

2.组件的摆放方式:

1.pack()方式 ->方向/方位摆放方法

2.grid()方式 ->网格摆放方法

3.place()方式 ->定位摆放方法

python tkinter组件摆放方式详解

3.pack布局介绍

pack()方式:

side 设置组件相对于父组件的摆放位置

# 导入tkinter模块
import tkinter
# 创建主窗口对象
root = tkinter.Tk()
# 设置窗口大小(最小值:像素)
root.minsize(500,500)
# 创建一个按钮组件
btn0 = tkinter.Button(root,text = '按钮1')
# 默认上边或 side = 'top'
btn0.pack()
btn1 = tkinter.Button(root,text = '按钮1')
# 下面
btn1.pack(side = 'bottom')
btn2 = tkinter.Button(root,text = '按钮2')
# 左边
btn2.pack(side = 'left')
btn3 = tkinter.Button(root,text = '按钮2')
# 右边
btn3.pack(side = 'right')
# 加入消息循环
root.mainloop()

ipadx,ipady 设置组件的内部间距

btn0 = tkinter.Button(root,text = '按钮1')
# 设置按钮中文字到边缘的间距
btn0.pack(ipadx = 20,ipady = 20)

padx,pady 设置多个组件外部间距

btn0 = tkinter.Button(root,text = '按钮1')
# padx设置组件外部左右间距,pady设置组件外部上下间距
btn0.pack(padx = 20,pady = 20)

fill 设置按钮站一行或者一列

btn1 = tkinter.Button(root,text = '屠龙宝刀点击就送!')# 该组件站水平方向的最大位置btn.pack(fill = 'x')btn2 = tkinter.Button(root,text = '屠龙宝刀点击就送!')# 该组件站垂直方向的最大位置,但必须是side = 'right'或'left'才会生效btn2.pack(fill = 'y',side = 'right')

expand 设置side是否失效

btn1 = tkinter.Button(root,text = '屠龙宝刀点击就送!')
# yes时side失效,按钮位于窗口中间,按钮占用所有水平和垂直的空间,此时fill = both 按钮站全部空间
btn1.pack(expand = 'yes',fill = 'both')

注意:仅仅使用pack无法实现表格方式,必须借助Franme组件才可以实现,非常复杂。

grid()方式:

row

设置行数 默认为0

column

设置列数 默认为0

btn1 = tkinter.Button(root,text = '按钮1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 1,column = 1)# 设置按钮位置
btn3 = tkinter.Button(root,text = '按钮3')
btn3.grid(row = 0,column = 1)

rowspan

设置跨行数量

cloumnspan

设置跨列数量

ipadx,ipady

设置组件内部间距

btn1 = tkinter.Button(root,text = '按钮1')
btn1.grid()
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 1,column = 0)# 设置按钮位置
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 0,column = 2,rowspan = 2,ipady = 15)
btn2 = tkinter.Button(root,text = '按钮2')
btn2.grid(row = 2,column = 0,columnspan = 3,ipadx = 20)

place()方式:

绝对定位布局:

x

设置距离左上角的水平长度

单位都是像素

y

设置距离左上角的垂直高度

单位都是像素

width

设置组件所占据的宽度

单位都是像素

height

设置组件所占据的高度

单位都是像素

btn = tkinter.Button(root,text = '按钮')
# 位置距离左边100像素,距离上边20像素
btn.place(x = 100,y = 20)
btn1 = tkinter.Button(root,text = '按钮1')
# 设置按钮的宽度和高度
btn1.place(x = 100,y = 100,width = 100,height = 100)

相对定位布局:

relx

设置距离左上角的水平长度

取值(0-1)

rely

设置距离左上角的垂直高度

取值(0-1) 

relwidth

设置组件所占据的宽度

取值(0-1)

relheight

设置组件所占据的高度

取值(0-1)

以上属性设置都是相对于界面宽度或者高度的百分比,可以更具界面的大小的改变而改变~!

!!!禁止同时使用两种摆放方式

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中内置的NotImplemented类型的用法
Mar 31 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
Django如何实现内容缓存示例详解
Sep 24 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
django 修改server端口号的方法
May 14 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
python hashlib加密实现代码
Oct 17 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
python动态视频下载器的实现方法
Sep 16 #Python
python tkinter基本属性详解
Sep 16 #Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 #Python
django中使用事务及接入支付宝支付功能
Sep 15 #Python
Django中的FBV和CBV用法详解
Sep 15 #Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 #Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
Sep 15 #Python
You might like
php模块memcache和memcached区别分析
2011/06/14 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
PHP的反射机制实例详解
2017/03/29 PHP
js字符编码函数区别分析
2008/06/05 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
使用Python写一个小游戏
2018/04/02 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
pow在python中的含义及用法
2019/07/11 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
幼儿教师思想汇报
2014/01/10 职场文书
开展读书活动总结
2014/06/30 职场文书
防灾减灾活动总结
2014/08/30 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
毕业设计论文评语
2014/12/31 职场文书
打架检讨书范文
2015/01/27 职场文书