Python:Tkinter布局管理器
原文来自FishC。
pack,grid,place均用于管理在一个父组件下的所有组件的布局,其中:
1)pack是按添加顺序排列组件
2)grid是按行/列形式排列组件
3)place则容忍我们指定组件的大小和位置
pack
对比grid管理器,pack更适用于少量组件的排列,但它在使用上更加简单;如需创建相对复杂的布局结构,则建议使用多个框架(frame)构成,或者使用grid来实现;
注意:不要在同一个父组件中混合使用pack,grid;
默认下,pack是将添加的组件依次纵向排列;如果想要组件横向排列,可以使用side选项:
Label(root,text='Blue',bg='blue',fg='white').pack(side=LEFT)
grid
灵活多变,使用一个grid就可以简单的实现使用多个框架和pack搭建起来的效果;
使用grid排列组件,只需告诉位置(row/column);默认情况下会居中显示在对应的网格中,可以使用sticky来修改这一特性,该选项可以使用的值有E,W,S,N(分别表示东南西北)以及它们的组合,如使label左对齐:
Label(root,text="User Name").grid(row=0,sticky=W)
Label(root,text="Password").grid(row=1,sticky=W)
如需几个网格来放置一个组件,可以指定rowspan,columnspan就可以实现跨行和跨列的功能,如:
photo=PhotoImage(file="log.gif")
Label(root,image=photo).grid(row=0,column=2,rowspan=2,padx=5,pady=5)
padx,pady分别指定水平,竖直方向的外边距。
place
通常情况下不建议使用place布局管理器,因为对比pack,grid,place要做更多的工作;
如将子组件显示在父组件的正中间:
Button(root,text="Click",command=callback).place(relx=0.5,rely=0.5,anchor=CENTER)
使用place可以实现一个组件覆盖另外一个组件,如Button覆盖Label组件:
photo=PhotoImage(file=logo_big.gif)
Label(root,image=photo).pack()Button(root,text="Click",command=callback).place(relx=0.5,rely=0.5,anchor=CENTER)
其中relx,rely选项是指定相对于父组件的位置,范围00~1.0,因此0.5表示位于正中间,relwidth,relheight则是相对于父组件的尺寸,如:
Label(root,bg='red').place(relx=0.5,rely=0.5,relheight=0.75,relwidth=0.75,anchor=CENTER)
上面改变窗口尺寸,Label的尺寸均会跟着改变;
x和y选项用于设置偏移(pixel),如果同时设置relx/rely和x/y,那么place将会先计算relx,rely,然后再实现x,y指定的偏移值。
Python:Tkinter布局管理器相关推荐
- Python ---Tkinter 布局管理器:place
上一篇:Python -Tkinter 布局管理器:grid The Tkinter Place Geometry ...
- Tkinter 布局管理器(一):pack
Tkinter 布局管理器之pack pack.grid 和 place 均用于管理同在一个父组件下的所有组件的布局,其中: pack 是按添加顺序排列组件 grid 是按行/列形式排列组件 plac ...
- python无师自通配套资源_Python Tkinter Pack布局管理器(超级详细,看了无师自通)...
GUI 编程就相当于小孩子搭积木,每个积木块应该放在哪里,每个积木块显示为多大,也就是对大小和位置都需要进行管理,而布局管理器正是负责管理各组件的大小和位置的.此外,当用户调整了窗口的大小之后,布局管 ...
- python布局管理_Python基础=== Tkinter Grid布局管理器详解
本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ...
- python grid函数_(转)Python Tkinter Grid布局管理器详解
Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 什么时候使用Grid管理器 grid管理器是Tkinter里面 ...
- python之place布局管理器
place 布局管理器可以通过坐标精确控制组件的位置 适用于一些布局更加灵活的场景. place()方法的选项 x,y 组件左上角的绝对 坐标(相对于窗口) 非负整数 x 和 y 选项用于设置偏移(像 ...
- 窗口管理器 实现_「42」Python布局管理器(三):place实现组件的精确与灵活布局...
已经学习了两类布局管理器: Pack布局管理器:按照垂直或者水平的方向自然排布: Grid布局管理器:采用表格结构组织组件,组件位置受限表格形式. 两类管理器都属于那种很古板的布局方式,不能适应需要相 ...
- python图形界面化编程GUI(二)常用的组件(Text、Radiobutton、Checkbutton、Canvas)和布局管理器(gird、pack、place)
Text文本框 Text(多行文本框)的主要用于显示多行文本,还可以显示 网页链接, 图片, HTML 页面, 甚至 CSS 样式表,添加组件 等.主要用来显示信息,也常被当做简单的文本处理器.⽂本编 ...
- Python布局管理器
使用步骤: 创建sizers布局管理器 调用SetSizer()将布局管理器添加到容器中 调用Add()将组件添加到布局管理器中 调用Fit()计算计算布局布局管理器和容器窗口的大小 #-*- cod ...
最新文章
- 带括号的中缀表达式转后缀表达式
- 【Interfacenavigation】选择时间/日期组件(34)
- Perl 正则表达式 html,使用正则表达式验证表单中的HTML字段使用perl
- Linux的Nginx三:类型|特点
- 总结一些调试的心得,ES7243
- matlab7.0 run,新手求救啊!!!matlab7.0在win7启动后命令窗口出现大段代码!
- 《大数据》第一届编委会顾问委员会议圆满召开
- 我来做百科(第一天)
- vue 数组添加元素_Vue躬行记(3)——样式和表单
- HDLM for AIX安装
- FFmpeg学习(10)—— ffmpeg最全的命令参数
- 电脑必备必装的软件工具神器,强烈推荐
- DirectX 9 游戏汉化详解
- PQ分区工具超详细图文教程
- C语言实验—— 数值统计
- python评分卡模型 简书_评分卡模型开发-定量特征筛选
- 任务,行动,目标、绩效管理,计划
- Python游戏概率保底算法PRD的实现
- NAND Flash SLC、MLC技术解析
- java检测弹窗并自动enter_JAVA实现自动检测股票波动情况,然后桌面上弹窗显示...