GUI tkinter (pack、grid、place)布局篇
"""
1、其实我们已经接触过 tkinter 的一种布局,就是 pack 布 局,它非常简单,我们不用做过多的设置,直接使用一个 pack 函数就可以了。
2、grid 布局:grid 可以理解为网格,或者表格,它可以把 界面设置为几行几列的网格,我们在网格里插入我们想要 的元素。
这种布局的好处是不管我们如何拖动窗口,相对 位置是不会变化的,而且这种布局也超简单。
3、place 布局:它直接使用死板的位置坐标来布局,这样做 的最大的问题在于当我们向窗口添加一个新部件的时候, 又得重新测一遍数据,
且我们不能随便地变大或者缩小窗口,否则,可能会导致混乱。
""" # pack布局
"""
1、pack函数布局的时候,默认先使用的放到上面,然后依次向下排列,默认方式它会给我们的组件一个自认为合适的位置和大小。
2、pack函数也可以接受几个参数,side参数,指定了它停靠在哪个方向,可以为LEFT,TOP,RIGHT,BOTTOM,分别代表左,上,右,下,
它的fill参数可以是X,Y,BOTH,NONE即在水平方向填充,竖直方向填充,水平和竖直方向填充和不填充。
3、它的expand参数可以是YES 和 NO,它的anchor参数可以是N,E,S,W(这里的NESW分别表示北东南西,这里分别表示上右下左)以及他们的组合或者是CENTER(表示中间)
4、它的ipadx表示的是内边距的x方向,它的ipady表示的是内边距的y的方向,padx表示的是外边距的x方向,pady表示的是外边距的y方向。
""" from tkinter import * root = Tk()
Button(root,text= "A").pack(side = LEFT, expand = YES, fill = Y)
Button(root,text= "B").pack(side = TOP, expand = YES, fill = BOTH)
Button(root,text= "C").pack(side = RIGHT, expand = YES, fill = NONE,anchor = NE)
Button(root,text= "D").pack(side = LEFT, expand = NO, fill = Y)
Button(root,text= "E").pack(side = TOP, expand = NO, fill = BOTH)
Button(root,text= "F").pack(side = BOTTOM, expand = YES)
Button(root,text= "G").pack(anchor= SE) root.mainloop()
运行结果如下:
# grid布局
"""
1、使用grid布局的时候,我们使用grid函数,在里面指定两个参数,用row表示行,用column表示列,其中值得注意的是row和column的编号都从0开始。
2、grid函数还有个sticky参数,它可以用N,E,S,W表示上右下左,它决定了这个组件是从哪个方向开始的。
3、grid布局直接用后面的行和列的数字来指定了它位于哪个位置,而不必使用其他参数。
5、grid函数也支持诸如ipadx,ipady,padx,pady,他们的意思和pack函数一样,默认边距是0。
6、它还支持参数比如rowspan,表示跨越的行数,columnspan表示跨越的列数。
7、它还有一些属性,可以在以后慢慢使用。
"""
from tkinter import * root = Tk()
Label(root,text = "账号:").grid(row = 0, sticky = W)
# Entry 表示“输入框”
Entry(root).grid(row = 0, column = 1, sticky = E) Label(root,text = "密码:").grid(row = 1, sticky = W)
Entry(root).grid(row = 1, column = 1, sticky = E) Button(root,text = "登录").grid(row = 2, column = 1, sticky = E)
root.mainloop()
运行结果如下:
# place布局 """
1、它使用place函数,它分为绝对布局和相对布局,绝对布局使用x和y参数,相对布局使用relx,rely,relheight和relwidth参数。
2、该方法不推荐大家使用。
"""
GUI tkinter (pack、grid、place)布局篇的更多相关文章
- python之tkinter使用-Grid(网格)布局管理器
# 使用tkinter编写登录窗口 # Grid(网格)布局管理器会将控件放置到一个二维的表格里,主控件被分割为一系列的行和列 # stricky设置对齐方式,参数N/S/W/E分别表示上.下.左.右 ...
- tkinter之grid布局管理器详解
在很久之前,我发过一篇<tkinter模块常用参数>,里面已经几乎涵盖了tkinter的大部分教程. 好吧,其实也就是上一篇而已啦. 所谓布局,就是指控制窗体容器中各个控件(组件)的位置关 ...
- Python Tkinter模块 Grid(grid)布局管理器参数详解
在使用Tkinter模块编写图像界面时,经常用到pack()和grid()进行布局管理,pack()参数较少,使用方便,是最简单的布局,但是当控件数量较多时,可能需要使用grid()进行布局(不要在同 ...
- Python GUI - tkinter
目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...
- Tkinter教程之Text(2)篇
本文转载自:http://blog.csdn.net/jcodeer/article/details/1811347 '''Tkinter教程之Text(2)篇''''''6.使用tag来指定文本的属 ...
- Python GUI - Tkinter tkMessageBox
Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息 tkMess ...
- 深入css布局篇(3)完结 — margin问题与格式化上下文
深入css布局(3) - margin问题与格式化上下文 在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深入学习一下 ...
- 转:Tkinter教程之Text(2)篇
'''Tkinter教程之Text(2)篇''''''6.使用tag来指定文本的属性'''#创建一个指定背景颜色的TAG# -*- coding: cp936 -*-from Tkinter impo ...
- CSS Grid网格布局全攻略
CSS Grid网格布局全攻略 所有奇技淫巧都只在方寸之间. 几乎从我们踏入前端开发这个领域开始,就不停地接触不同的布局技术.从常见的浮动到表格布局,再到如今大行其道的flex布局,css布局技术一直 ...
随机推荐
- (一)分布式数据库tidb-简介
因为数据磁盘问题,最近进行了更换库,所以决定写关于这方面的专题的博客,博客信息参考的官方文档. 一.分布式数据库使用背景 随着互联网的飞速发展,业务量可能在短短的时间内爆发式地增长,对应的数据量可能快 ...
- 分库分表之后,id 主键如何处理?
其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持.所以这都是你实际生产环境中必须考虑的 ...
- 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:
小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...
- android 多行 RadioButton的使用
最近项目用到了多行RadioButton,随记录下. 先给出RadioButton的布局 <com.kuibu.jucai.widget.MyRadioGroup android:id=&quo ...
- Qt插件热加载-QPluginLoader实现
上一篇C++消息框架-基于sigslot文章中我们讲述了使用sigslot信号槽实现自己的消息框架,这是一个比较粗糙,而且小的框架.当我们的程序逐渐变大时,我们可能就会考虑功能插件化,或者支持某些模块 ...
- go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包
本篇文章是 Go 语言学习笔记之函数式编程系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: 闭包 空谈误国,实干兴邦,以具体代码示例为基础讲解什么是闭包以及为什么需要闭包 ...
- Java面向对象程序设计第5章1-9
1.面向对象的主要特征是什么? 三大特征是:封装.继承和多态. 封装:是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象. 继承: ...
- Java 截取字符串中指定数据及之后数据
String resCallBackJson="12556{1{{{456858585{"; resCallBackJson = resCallBackJson.su ...
- JAVA设计模式---总述篇
一.设计模式(Design Pattern): 1.设计模式的概念 是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健性以及 ...
- python的元组存储的实质和多元赋值
python中有一种赋值机制即多元赋值,采用这种方式赋值时,等号两边的对象都是元组并且元组的小括号是可选的.通常形式为 x, y, z = 1, 2, 'a string' 等同于 (x, y, z) ...