Tkinter支持三种几何管理器:网格管理器,包管理器,位置管理器

提示:由于每个管理器都有自己放置小构件的风格,最好不要在同一个容器中的小构件使用多个管理器。可以使用框架作为子容器以获取期望的布局。

1.网格管理器

#几何管理器(1)-----网格管理器
'''
网格管理器将小构件,放在一个不可见网格的每个单元内。可以将小构件放在某个特定的行和列内,也可以使
用rowspan和columnspan参数将小构件放在多行和多列中。
''' from tkinter import * class GridManagerDemo:
window = Tk()
window.title("Grid Manager Demo") message = Message(window, text = "This Message widget occupies three rows and two columns")
message.grid(row = 1, column = 1, rowspan = 3, columnspan = 2) Label(window, text = "First Name:").grid(row = 1, column = 3)
Entry(window).grid(row = 1, column = 4, padx = 5, pady = 5) Label(window, text = "Last Name:").grid(row = 2, column = 3)
Entry(window).grid(row = 2, column = 4) Button(window, text = "Get Name").grid(row = 3, padx = 5, pady = 5,column = 4, sticky = E) window.mainloop() GridManagerDemo()

2.包管理器

#几何管理器(2)-----包管理器
'''
包含管理器将小构件依次的一个放置在另一个的顶部或将他们一个挨着一个的放置。
''' #第一种
from tkinter import * class PackManagerDemo:
def __init__(self):
window = Tk()
window.title("Pack Mananger Demo 1") Label(window, text = "Blue", bg="blue").pack()
# fill通过X,Y,BOTH 来填充水平,垂直,或者两个方向的空间
#expand告诉管理器分配额外的空间给小构件
Label(window, text = "Red", bg = "red").pack(fill = BOTH, expand = 1)
Label(window, text = "Green", bg = "green").pack(fill = BOTH) window.mainloop() PackManagerDemo() #第二种
class PackManagerDemoWithSide:
window = Tk()
window.title("Pack Manager Demo 2") #side可以是LEFT, RIGHT, TOP, BOTTOM,默认是TOP。
Label(window, text = "Blue", bg="blue").pack(side = LEFT)
Label(window, text = "Red", bg = "red").pack(side = LEFT, fill = BOTH, expand = 1)
Label(window, text = "Green", bg = "green").pack(side = LEFT, fill = BOTH) window.mainloop() PackManagerDemoWithSide()

3.位置管理器

#几何管理器(3)-----位置管理器
'''
位置管理器将小构件放在绝对位置上。
''' 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()

【python基础】 Tkinter 之 几何管理器的更多相关文章

  1. Python基础=== Tkinter Grid布局管理器详解

    本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html          @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ...

  2. Tkinter模块:Grid几何管理器

    Tkinter模块是Python的标准库模块之一,也是使用Python语言进行图形化用户界面(GUI)开发的基础. 本文介绍一下Tkinter模块的Grid几何管理器. 使用VB.MFC进行GUI开发 ...

  3. 十一. Python基础(11)—补充: 作用域 & 装饰器

    十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域 ...

  4. Python Tkinter Grid布局管理器详解

    Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1) ...

  5. Day4 - Python基础4 迭代器、装饰器、软件开发规范

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  6. python基础整理4——面向对象装饰器惰性器及高级模块

    面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...

  7. tkinter学习-布局管理器

    阅读目录 pack 是按照添加顺序排列的组件 grid  是按照行/列形式排序的组件 place 允许程序员指定组件的大小和位置 pack: 说明:适用于少量的简单的组件的排列 fill:这个选项是告 ...

  8. python爬虫模块之URL管理器模块

    URL管理器模块 一般是用来维护爬取的url和未爬取的url已经新添加的url的,如果队列中已经存在了当前爬取的url了就不需要再重复爬取了,另外防止造成一个死循环.举个例子 我爬www.baidu. ...

  9. Python基础(八)装饰器

    今天我们来介绍一下可以提升python代码逼格的东西——装饰器.在学习装饰器之前我们先来复习一下函数的几个小点,方便更好的理解装饰器的含义. 一.知识点复习 1, 在函数中f1和f1()有什么不同,f ...

随机推荐

  1. Lua学习笔记4. coroutine协同程序和文件I/O、错误处理

    Lua学习笔记4. coroutine协同程序和文件I/O.错误处理 coroutine Lua 的协同程序coroutine和线程比较类似,有独立的堆栈.局部变量.独立的指针指令,同时又能共享全局变 ...

  2. 移动web开发资源大整合

    移动web开发资源大整合 http://www.cnblogs.com/PeunZhang/p/3407453.html

  3. php中serialize、unserialize与json_encode、json_decode比较

    性能比较 同一个变量编码或解码10000次,每个函数执行10000次所需时间 php5.2.13 json : 190 serialize : 257 json_encode : 0.08364200 ...

  4. iOS之Nib和Xib以及storyboard(故事版)

    本文转发至:http://blog.csdn.net/tonny_guan/article/details/8542789 nib.xib与故事板 如果大家使用过苹果的官方资料,一定会发现某些资料上会 ...

  5. 配置 nginx location 实时查看 php-fpm 的状态

    在Nginx.conf 里配置 location ~ ^/status$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_ ...

  6. Bash shell 的算术运算有四种方式

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1:使用 expr 外部程式加法 r=`expr 4 + 5`echo $r注意! '4' '+' '5' 这三者之间要有空白r=`e ...

  7. OPENCV直方图与匹配

    直方图可以用来描述不同的参数和事物,如物体的色彩分布,物体的边缘梯度模版以及目标位置的当前假设的概率分布. 直方图就是对数据进行统计的一种方法,并且将统计值定义到一系列定义好的bin(组距)中,获得一 ...

  8. LWIP裸机环境下实现TCP与UDP通讯

    前面移植了LWIP,并且简单的实用了DHCP的功能,今天来使用一下实际的数据通讯的功能 首先是实现TCP客户端,我先上代码 #ifndef __TCP_CLIENT_H_ #define __TCP_ ...

  9. 《数据结构与算法分析:C语言描述》读书笔记------练习1.1 求第K大的数

    求一组N个数中的第k个最大者,设k=N/2. import java.util.Random; public class K_Max { /** * @param args */ //求第K大的数,保 ...

  10. STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解

    STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解 STM32的优先级NVIC_PriorityGroupConfig的理解及其使用 STM32中断优先级彻底讲解 S ...