Tkinter使用几何管理器在容器中管理组件
2017-01-01 23:17
204 查看
具体代码访问GitHub:https://github.com/Roc-J/Python-turtle/tree/master/code15
几何管理器
Tkinter使用几何管理器在容器中管理组件下面介绍三种布局方式
* grid manager
* pack manager
* place manager
Grid Manager网格管理器
网格管理器将容器当做不可见的网格,可以将组件放置在单元格中。我们通过指定的行和列来放置窗口小组件,当然,还可以通过参数rowspan和columnspan将窗口组件放置在多个行和列中下面通过一个实例来简单的实现网格布局的用法
# -*- coding=utf8 -*- from Tkinter import * # 创建一个类 class GridManagerDemo: def __init__(self): # 创建窗口 window = Tk() window.title("网格布局管理") # 创建一个消息Message message = Message(window,text="这个消息占据了三行三列") message.grid(row=1,column=1,rowspan=3,columnspan=3) # 创建标签和文本框 Label(window,text="用户名:").grid(row=1,column=4) Entry(window).grid(row=1,column=5,padx=5,pady=5) Label(window, text="密码:").grid(row=2, column=4) Entry(window).grid(row=2, column=5, padx=5, pady=5) Button(window,text="登录:").grid(row=3,column=5) window.mainloop() GridManagerDemo()
程序运行结果:
grid()用法最简单的就是在参数里指定是几行几列
Pack包管理器
pack()中最常用的选项包括:side:LEFT,TOP,RIGHT和BOTTOM(这些决定了窗口部件的对齐方式)
fill:X,Y,BOTH和NONE(这些决定了窗口小部件是否可以增大)
anchor:NW, N, NE, E, SE, S, SW, W和CENTER,对应于基本方向
Internal padding内部填充(ipadx和ipady)和外部填充(padx和pady),所有默认值为零
你应该在哪里使用pack()几何管理器
使用包管理器比使用grid网格管理器要稍微复杂一点,但它在某些情况下有一个很好的选择,例如:* 有一个小部件填充完整的容器框架
* 将多个小部件放在 彼此的顶部或者并排显示(这个最常用)
* 位置
Place Manager布局
place布局就是能够指定x和y的坐标位置来进行定位放置。下面举一个例子来进行说明:from Tkinter import * class PlaceManagerDemo: def __init__(self): window = Tk() window.title("Place Manager Demo") Label(window,text="Blue",bg="blue").place(x=20,y=20) Label(window, text="Red", bg="red").place(x=50, y=50) Label(window, text="Green", bg="green").place(x=80, y=80) window.mainloop() PlaceManagerDemo()
程序说明:
(1)引入Tkinter包
(2)声明一个类,在类中初始化一些信息,包括生成一个窗口window,在窗口中设置标题
(3)生成是哪个标签Label,分别指定它们的属性并放置在窗口中,其中是采用place布局来进行防治,place(x=,y=)参数通过制定x,y的参数来进行定位。
相关文章推荐
- 在.NET中使用COMAdmin组件管理COM+组件
- 如何使用容器内的组件
- 通用权限管理组件使用说明书
- 记录通用权限管理系统组件使用心得体会,写技术博客赢IPad2
- 可以永久免费下载、免费使用、免费升级、有QQ153585978群技术支持的通用权限管理系统组件【含免费代码生成器】
- 使用Dephi组件的生存期管理
- 使用 Spring 容器管理 Filter
- 完善《通用权限管理组件使用说明书V3.0.doc》,修正错别字、语句通顺、条理清晰化、能拿得出手,愿支付辛苦费
- 通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)
- 使用 Spring 容器管理 Servlet
- Tomcat6源代码学习--容器组件通讯机制与生命周期管理
- 通用权限管理组件使用说明书
- 通过在classpath自动扫描方式把组件纳入Spring容器中管理
- Windows Media 数字权限管理(DRM)组件遇到问题。如果您正在尝试使用从在线商店获取的文件,请到在线商店并获取适当的使用权。
- 通用权限管理组件使用说明书
- 通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)
- 使用TSQLConnection组件管理事务
- 通用权限管理组件使用说明书
- Spring 通过在classpath自动扫描方式把组件纳入spring容器中管理
- 使用 Spring 容器管理 Filter