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基于动态规划算法计算单词距离
Jul 25 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
python回调函数中使用多线程的方法
Dec 25 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
如何安装多版本python python2和python3共存以及pip共存
Sep 18 Python
Python脚本完成post接口测试的实例
Dec 17 Python
Python 如何定义匿名或内联函数
Aug 01 Python
Python gevent协程切换实现详解
Sep 14 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
Python数据分析之pandas函数详解
Apr 21 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中利用XML技术构造远程服务(下)
2006/10/09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
php变量作用域的深入解析
2013/06/03 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
潜说js对象和数组
2011/05/25 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python 网络编程常用代码段
2016/08/28 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
python绘制多个子图的实例
2019/07/07 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
函授自我鉴定
2013/11/06 职场文书
承认错误的检讨书
2014/01/30 职场文书
大学生演讲稿
2014/04/25 职场文书
出售房屋委托书范本
2014/09/24 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书