【python基础】 Tkinter 之 几何管理器
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 之 几何管理器的更多相关文章
- Python基础=== Tkinter Grid布局管理器详解
		本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ... 
- Tkinter模块:Grid几何管理器
		Tkinter模块是Python的标准库模块之一,也是使用Python语言进行图形化用户界面(GUI)开发的基础. 本文介绍一下Tkinter模块的Grid几何管理器. 使用VB.MFC进行GUI开发 ... 
- 十一. Python基础(11)—补充: 作用域 & 装饰器
		十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域 ... 
- Python Tkinter Grid布局管理器详解
		Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1) ... 
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
		Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ... 
- python基础整理4——面向对象装饰器惰性器及高级模块
		面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ... 
- tkinter学习-布局管理器
		阅读目录 pack 是按照添加顺序排列的组件 grid 是按照行/列形式排序的组件 place 允许程序员指定组件的大小和位置 pack: 说明:适用于少量的简单的组件的排列 fill:这个选项是告 ... 
- python爬虫模块之URL管理器模块
		URL管理器模块 一般是用来维护爬取的url和未爬取的url已经新添加的url的,如果队列中已经存在了当前爬取的url了就不需要再重复爬取了,另外防止造成一个死循环.举个例子 我爬www.baidu. ... 
- Python基础(八)装饰器
		今天我们来介绍一下可以提升python代码逼格的东西——装饰器.在学习装饰器之前我们先来复习一下函数的几个小点,方便更好的理解装饰器的含义. 一.知识点复习 1, 在函数中f1和f1()有什么不同,f ... 
随机推荐
- CSS实现单行、多行文本溢出显示省略号
			单行显示省略号 overflow: hidden; text-overflow:ellipsis; white-space: nowrap;多行显示省略号 display: -webkit-box; ... 
- 解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。
			问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下: ERROR (): The used command i ... 
- Hibernate与IBatis的优缺点及可行性分析
			以下文章来源于考试大 1.优点 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现. 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供 ... 
- Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7)
			http://blog.chinaunix.net/uid-20543672-id-3157283.html Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3 ... 
- keystone policy.json 的学习总结
			keystone的policy.json文件位于:/etc/keystone/policy.json 其内容如下: 1 { 2 "admin_required": "ro ... 
- CodeForces 621C Wet Shark and Flowers
			方法可以转化一下,先计算每一个鲨鱼在自己范围内的数能被所给素数整除的个数有几个,从而得到能被整除的概率,设为f1,不能被整除的概率设为f2. 然后计算每相邻两只鲨鱼能获得钱的期望概率,f=w[id1] ... 
- sqlserver数据库类型对应Java中的数据类型
			SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型 bigint BIGINT long timestamp binary BINARY byte[] b ... 
- [iOS]使用signal让app能够在从容崩溃
			前言 虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧. iOS SDK中提供了一个现成的函数 NSSetUncaughtE ... 
- FragmentTabHost+FrameLayout实现底部菜单栏
			现在一般的app都使用底部菜单栏,那具体怎么实现的呢!我们就来看看 首先给大家展示一下布局文件 1 <LinearLayout xmlns:android="http://schema ... 
- 文本去重-----awk或者uniq
			对于awk '!a[$3]++',需要了解3个知识点 1.awk数组知识,不说了 2.awk的基本命令格式 awk 'pattern{action}' 省略action时,默认action是{ ... 
