tkinter之grid布局管理器详解
在很久之前,我发过一篇《tkinter模块常用参数》,里面已经几乎涵盖了tkinter的大部分教程。
好吧,其实也就是上一篇而已啦。
所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。
tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局:
“Grid”兼具功能,灵活性和易用性,以及它与当今布局的自然匹配(依赖于小部件的对齐)使其成为一般用途的最佳选择;
“pack”也非常强大,但更难以使用和理解;
“place”让您完全控制每个元素的定位;
我们甚至可以看到像窗格,笔记本,画布和文本这样的小部件可以充当几何管理器。
所以,这一篇我们就只讲一个管理器就够了——grid(网格)布局管理器。
grid属性设置:
| 属性名 | 属性简析 | 取值说明 |
|---|---|---|
| row、column | row为行,column为列 | 从0开始 |
| rowspan | 组件所跨越的行数 | |
| columnspan | 组件所跨越的列数 | |
| ipadx、ipady、padx、pady | 组件的内部、外部间隔距离,默认是0 | 非负整数,单位为像素 |
| in_ | w2必须是w创建时指定父插件的子插件 | 用in_=w2可以将w登记为w2的child插件 |
| sticky | 对齐方式,默认居中 | 东南西北中九方向+ |

grid类的函数(使用组件实例对象调用):
| 函数名 | 描述 |
|---|---|
| grid_slaves() | 以列表方式返回本组件的所有子组件对象 |
| grid_configure(option=value) | 给gird布局管理器设置属性,使用属性(option)= 取值(value)方式设置 |
| grid_propagate(boolean) | 设置为True表示父组件的几何大小由子组件决定(默认值),反之则无关 |
| grid_info() | 返回gird提供的选项所对应得值 |
| grid_forget() | Unpack组件,将组件隐藏并且忽略原有设置,对象依旧存在,可以用gird(option, …)将其显示 |
| grid_remove() | |
| grid_location(x, y) | x, y为以像素为单位的点,返回单元格行列坐标,(-1, -1)表示不在其中 |
| size() | 返回组件所包含的单元格,揭示组件大小 |
调用结果如下:

特别鸣谢:
tkinter之grid布局管理器详解的更多相关文章
- Python基础=== Tkinter Grid布局管理器详解
本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ...
- Python Tkinter Grid布局管理器详解
Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1) ...
- Grid 布局管理器
Grid 布局管理器: Grid布局类wx.GridSizer,Grid布局以网格形式对子窗口或控件进行摆放,容器被分成大小相等的矩形,一个矩形中放置一个子窗口或控件. wx.GridSizer构造方 ...
- Tkinter 的三大布局管理器 pack、grid 和 place用法汇总
学习python的tkinter免不了要对各个组件进行位置的排放与设定,常用的布局管理器有grid,pack和place.这三种均用于同一父组件下的组件布局,但是也是有区别的,先看下他们各自的含义吧. ...
- Python Tkinter模块 Grid(grid)布局管理器参数详解
在使用Tkinter模块编写图像界面时,经常用到pack()和grid()进行布局管理,pack()参数较少,使用方便,是最简单的布局,但是当控件数量较多时,可能需要使用grid()进行布局(不要在同 ...
- spring的annotation-driven配置事务管理器详解
http://blog.sina.com.cn/s/blog_8f61307b0100ynfb.html ——————————————————————————————————————————————— ...
- HTTP属性管理器详解
1)HTTP Cache Manager 2)HTTP Cookie 管理器 3)HTTP 信息头管理器 4)HTTP 授权管理器 5)HTTP 请求默认值 为什么会有这些http属性的配置元件? ...
- NLB网路负载均衡管理器详解
序言 在上一篇配置iis负载均衡中我们使用啦微软的ARR,我在那篇文章也中提到了网站的高可用性,但是ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给down掉啦,那么做再多的应用服务 ...
- NLB网路负载均衡管理器详解(转载)
序言 在上一篇配置iis负载均衡中我们使用啦微软的ARR,我在那篇文章也中提到了网站的高可用性,但是ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给down掉啦,那么做再多的应用服务 ...
随机推荐
- 整理一下pywinauto 的sendeys(py2.7)换成python3.6用PyUserInput
没办法入门学的是py3.6所以有些只支持2.7的库保好放弃了 senkeys (2.7)==>pyuserinput (3.6) ================================ ...
- leetcode — anagrams
import java.util.*; /** * * Source : https://oj.leetcode.com/problems/anagrams/ * * Created by lverp ...
- 微信分享JS-SDK
微信JS-SDK,提供给开发者的基于微信内的网页开发工具包 使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微 ...
- [转]Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)
本文转自:https://www.jb51.net/article/97271.htm 最近学习Virtualbox的一些知识,记录下,Virtualbox下如何实现主机和虚拟机之间文件夹共享及双向拷 ...
- 从零开始学安全(二十五)●用nmap做端口扫描
以上是常用的端口扫描 -T 用法 每个级别发包时间 当没有使用T 时默认的使用T3级别发包 半开扫描 先探测主机是否存活 再用-sS 扫描端口 容易造成syn 包攻击 就是利用僵尸主机 进 ...
- 如何调用common.js
第一步 页面需要引用此js 第二步 var loginJs = { //登录 goLogin: function () { var _userinfo = { name: "夏小沫" ...
- [PHP] 算法-字符串的全排列的PHP实现
输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 思路: 1.利用递归形成 ...
- java连接MySQL数据库的方式
Java连接数据库的几种方法 *说明 1.以MySQL数据库为例 2.分为四个步骤: 建立数据库连接, 向数据库中提交sql 处理数据库返回的结果 关闭数据库连接 一:JDBC 1.建立数据库连接 只 ...
- python_文件操作
说明:如有转载,请标明出处!! 一.文件操作 1.文件常用操作方法 open() f=open('文件名','r',encoding='utf-8') #三个参数,第一个文件详细路径,需要写明文件格式 ...
- Centos6.5安装Redis3.0备忘记录
Centos6.5安装Redis3.0 1. 安装C编译环境 首先需要安装编译Redis的C环境,在命令行执行以下命令: [root@itzhouq32 tools] yum install gcc- ...