一、pack布局举例

#pack布局案例

import tkinter

baseFrame = tkinter.Tk()

#以下代码都是创建一个组件,然后布局

btn1 = tkinter.Button(baseFrame,text="A")

btn1.pack(side=tkinter.LEFT,expand=tkinter.YES,fill=tkinter.Y)

​

btn2 = tkinter.Button(baseFrame,text="B")

btn2.pack(side=tkinter.TOP,expand=tkinter.YES,fill=tkinter.BOTH)

​

btn2 = tkinter.Button(baseFrame,text="C")

btn2.pack(side=tkinter.RIGHT,expand=tkinter.YES,fill=tkinter.NONE)

​

btn2 = tkinter.Button(baseFrame,text="D")

btn2.pack(side=tkinter.LEFT,expand=tkinter.NO,fill=tkinter.Y)

​

btn2 = tkinter.Button(baseFrame,text="F")

btn2.pack(side=tkinter.BOTTOM,expand=tkinter.YES)

​

btn2 = tkinter.Button(baseFrame,text="G")

btn2.pack(anchor=tkinter.SE)

​

baseFrame.mainloop()

二、grid布局举例

1.通用使用方式:组件对象,grid(设置.......)

2.利用row,column编号,都是从0开始

3.sticky:N\E\S\W表示上下左右,用来决定组件从哪个方向开始

4.支持ipadx,padx等参数,跟pack函数含义一样

5.支持rowspan,columnspan,表示跨行,跨列数量


#pack布局案例

import tkinter

# baseFrame = tkinter.Tk()

# #以下代码都是创建一个组件,然后布局

# btn1 = tkinter.Button(baseFrame,text="A")

# btn1.pack(side=tkinter.LEFT,expand=tkinter.YES,fill=tkinter.Y)

#

# btn2 = tkinter.Button(baseFrame,text="B")

# btn2.pack(side=tkinter.TOP,expand=tkinter.YES,fill=tkinter.BOTH)

#

# btn2 = tkinter.Button(baseFrame,text="C")

# btn2.pack(side=tkinter.RIGHT,expand=tkinter.YES,fill=tkinter.NONE)

#

# btn2 = tkinter.Button(baseFrame,text="D")

# btn2.pack(side=tkinter.LEFT,expand=tkinter.NO,fill=tkinter.Y)

#

# btn2 = tkinter.Button(baseFrame,text="F")

# btn2.pack(side=tkinter.BOTTOM,expand=tkinter.YES)

#

# btn2 = tkinter.Button(baseFrame,text="G")

# btn2.pack(anchor=tkinter.SE)

#

#

# baseFrame.mainloop()

​

baseFrame2 = tkinter.Tk()

​

lb1 = tkinter.Label(baseFrame2,text="账号:")

lb1.grid(row=0,sticky=tkinter.W)

tkinter.Entry(baseFrame2).grid(row=0,column=1,sticky=tkinter.E)

​

lb2 = tkinter.Label(baseFrame2,text="密码:")

lb2.grid(row=1,sticky=tkinter.W)

tkinter.Entry(baseFrame2).grid(row=1,column=1,sticky=tkinter.E)

​

button = tkinter.Button(baseFrame2,text="登录").grid(row=2,column=1,sticky=tkinter.E)

​

baseFrame2.mainloop()

三、place布局

1.明确方位的摆放

2.相对位置布局,随意改变窗口大小会导致混乱。

3.使用place函数,分为绝对布局和相对布局,绝对布局使用x,y参数

4.相对布局使用relx.rely,relheight,relwidth.

四、源码

D61_ThreeFrameOfTkinter.py

https://github.com/ruigege66/Python_learning/blob/master/D61_ThreeFrameOfTkinter.py​

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python连载61-tkinter三种布局的更多相关文章

  1. HTML的三种布局:DIV+CSS、FLEX、GRID

    Div+css布局 也就是盒子模型,有W3C盒子模型,IE盒子模型.盒子模型由四部分组成margin.border.padding.content. 怎么区别这两种模型呢,区别在于w3c中的width ...

  2. python实现单例模式的三种方式及相关知识解释

    python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singlet ...

  3. Python实现定时执行任务的三种方式简单示例

    本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 import time,os,sched schedule = sched.scheduler ...

  4. Python格式化输出的三种方式

    Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...

  5. CSS三种布局模型是什么?

    在网页中,元素有三种布局模型:流动模型(Flow) 默认的.浮动模型 (Float).层模型(Layer).下面我们来看一下这三种布局模型. 三种布局模型介绍: 1.流动模型(Flow) 流动(Flo ...

  6. JavaGUI三种布局管理器FlowLayout,BorderLayout,GridLayout的使用

    三种布局管理器 流式布局FlowLayout package GUI; import java.awt.*; import java.awt.event.WindowAdapter; import j ...

  7. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  8. Python 列表(List) 的三种遍历(序号和值)方法

    三种遍历列表里面序号和值的方法: 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码 #!/usr/bin/env pyth ...

  9. 记住 Python 变量类型的三种方式

    title: 记住变量类型的三种方式 date: 2017-06-11 15:25:03 tags: ['Python'] category: ['Python'] toc: true comment ...

  10. python更新数据库脚本三种方法

    最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...

随机推荐

  1. 在abp core中出现运行项目时EF获取到的appsetting.json或者appsettings.Production.json中的连接字符串为空

    原因:有可能是生成的bin或者debug文件夹下没有将appsetting.json或者appsettings.Production.json文件生成过去 解决方法:手动拷贝过去,或者设置成自动生成过 ...

  2. Write-up-NODE-1

    关于 下载地址:点我 哔哩哔哩:哔哩哔哩 一天研究OBS终于不闪屏了 顺便在这里记录一下,上网查了很久.刚刚开始是不闪屏了,但是锁屏后就唤醒不了了,只能强制关机. 然后又上网找了很久,重启了N次,终于 ...

  3. 高手教大家如何配置JVM参数

    /usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K ...

  4. UISearchBar设置背景色

    1.关于UISearchBar的背景颜色,竟然要如下设置才正常: [documentSearchView setBackgroundImage:[UIImage new]]; documentSear ...

  5. 二 sql语句,常用字段数据类型

    MySQL中常用DDL命令   database definition language  与 DML命令 :  database definition language 操作数据库: 创建数据库 : ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:将页面元素所包含的文本内容替换为背景图

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. ORM常用字段及查询

    目录 ORM常用字段及参数 创建表 ORM常用字段 ORM字段参数 ORM表关系创建 ForeignKey OneToOneField ManyToManyField 多对多三种创建方式 单表查询 q ...

  8. SDL 显示汉字

    #include "stdafx.h" #pragma comment(lib,"SDL.lib") #pragma comment(lib,"SDL ...

  9. android 动态壁纸开发

    转:http://www.eoeandroid.com/thread-100389-1-1.html android 动态壁纸开发参考:http://www.ophonesdn.com/article ...

  10. 「NOIP2007」树网的核

    传送门 Luogu 解题思路 这里着重介绍 \(O(n^3)\) 的做法,毕竟考场上只有 \(N\le300\) \(Q \omega Q\) 首先我们要知道,对任意一条直径算偏心距都是一样的. 证明 ...