一、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. 十三 Spring的通知类型,切入表达式写法

    Spring中通知类型: 前置通知:目标方法执行之前进行操作,可以获得切入点信息 后置通知: 目标方法执行之后进行操作,可以获得方法的返回值 环绕通知:在目标方法执行之前和之后进行操作,可以终止目标方 ...

  2. 最长公共子序列/子串 LCS(模板)

    首先区分子序列和子串,序列不要求连续性(连续和不连续都可以),但子串一定是连续的 1.最长公共子序列 1.最长公共子序列问题有最优子结构,这个问题可以分解称为更小的问题 2.同时,子问题的解释可以被重 ...

  3. 四阶幻方-蓝桥杯-DFS

    答案:416 用next_permutation()全部排列的话会超时 所以用dfs搜索,只搜索前三行就好,前三行确定之后,第四行也就确定 #include<iostream> #incl ...

  4. 最优矩阵连乘问题 区间DP

    最优矩阵连乘积 Accepted: 10 Total Submit: 18Time Limit: 1000ms Memony Limit: 32768KB Description 在科学计算中经常要计 ...

  5. c++继承:公有、私有、保护(对应p12访问限制)

    公有继承(public).私有继承(private).保护继承(protected)是常用的三种继承方式. 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时, ...

  6. LeetCode 19. Remove Nth Node From End of List(删除链表中倒数第N个节点)

    题意:删除链表中倒数第N个节点. 法一:递归.每次统计当前链表长度,如果等于N,则return head -> next,即删除倒数第N个节点:否则的话,问题转化为子问题“对head->n ...

  7. task20160125

    http://task.zbj.com/2034844/n15o1.html 百度开放平台--首页>帮助文档首页>Frontia>Android开发指南>个人数据存储 http ...

  8. webpack配置文件里loader的执行顺序:从下到上,从右到左; css-loader开启css模块化modules: true,

    注释: options:{ importLoaders: 2 } 解决样式文件里使用@import 'xxx.xxx' 的问题 module: { rules: [{ test: /\.scss$/, ...

  9. 【剑指Offer面试编程题】题目1521:二叉树的镜像--九度OJ

    题目描述: 输入一个二叉树,输出其镜像. 输入: 输入可能包含多个测试样例,输入以EOF结束. 对于每个测试案例,输入的第一行为一个整数n(0<=n<=1000,n代表将要输入的二叉树节点 ...

  10. 【剑指Offer面试编程题】题目1510:替换空格--九度OJ

    题目描述: 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 输入: 每个 ...