Python连载61-tkinter三种布局
一、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三种布局的更多相关文章
- HTML的三种布局:DIV+CSS、FLEX、GRID
Div+css布局 也就是盒子模型,有W3C盒子模型,IE盒子模型.盒子模型由四部分组成margin.border.padding.content. 怎么区别这两种模型呢,区别在于w3c中的width ...
- python实现单例模式的三种方式及相关知识解释
python实现单例模式的三种方式及相关知识解释 模块模式 装饰器模式 父类重写new继承 单例模式作为最常用的设计模式,在面试中很可能遇到要求手写.从最近的学习python的经验而言,singlet ...
- Python实现定时执行任务的三种方式简单示例
本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 import time,os,sched schedule = sched.scheduler ...
- Python格式化输出的三种方式
Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...
- CSS三种布局模型是什么?
在网页中,元素有三种布局模型:流动模型(Flow) 默认的.浮动模型 (Float).层模型(Layer).下面我们来看一下这三种布局模型. 三种布局模型介绍: 1.流动模型(Flow) 流动(Flo ...
- JavaGUI三种布局管理器FlowLayout,BorderLayout,GridLayout的使用
三种布局管理器 流式布局FlowLayout package GUI; import java.awt.*; import java.awt.event.WindowAdapter; import j ...
- python字符串连接的三种方法及其效率、适用场景详解
python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...
- Python 列表(List) 的三种遍历(序号和值)方法
三种遍历列表里面序号和值的方法: 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,特在情人节这一天写下了这篇博客,下面废话不多说,直接贴代码 #!/usr/bin/env pyth ...
- 记住 Python 变量类型的三种方式
title: 记住变量类型的三种方式 date: 2017-06-11 15:25:03 tags: ['Python'] category: ['Python'] toc: true comment ...
- python更新数据库脚本三种方法
最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...
随机推荐
- 在abp core中出现运行项目时EF获取到的appsetting.json或者appsettings.Production.json中的连接字符串为空
原因:有可能是生成的bin或者debug文件夹下没有将appsetting.json或者appsettings.Production.json文件生成过去 解决方法:手动拷贝过去,或者设置成自动生成过 ...
- Write-up-NODE-1
关于 下载地址:点我 哔哩哔哩:哔哩哔哩 一天研究OBS终于不闪屏了 顺便在这里记录一下,上网查了很久.刚刚开始是不闪屏了,但是锁屏后就唤醒不了了,只能强制关机. 然后又上网找了很久,重启了N次,终于 ...
- 高手教大家如何配置JVM参数
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K ...
- UISearchBar设置背景色
1.关于UISearchBar的背景颜色,竟然要如下设置才正常: [documentSearchView setBackgroundImage:[UIImage new]]; documentSear ...
- 二 sql语句,常用字段数据类型
MySQL中常用DDL命令 database definition language 与 DML命令 : database definition language 操作数据库: 创建数据库 : ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:将页面元素所包含的文本内容替换为背景图
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ORM常用字段及查询
目录 ORM常用字段及参数 创建表 ORM常用字段 ORM字段参数 ORM表关系创建 ForeignKey OneToOneField ManyToManyField 多对多三种创建方式 单表查询 q ...
- SDL 显示汉字
#include "stdafx.h" #pragma comment(lib,"SDL.lib") #pragma comment(lib,"SDL ...
- android 动态壁纸开发
转:http://www.eoeandroid.com/thread-100389-1-1.html android 动态壁纸开发参考:http://www.ophonesdn.com/article ...
- 「NOIP2007」树网的核
传送门 Luogu 解题思路 这里着重介绍 \(O(n^3)\) 的做法,毕竟考场上只有 \(N\le300\) \(Q \omega Q\) 首先我们要知道,对任意一条直径算偏心距都是一样的. 证明 ...