python布局管理_Python基础=== Tkinter Grid布局管理器详解

本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html          @ 箬笠蓑衣

Grid(网格)布局管理器会将控件放置到一个二维的表格里。主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件。

注意:不要试图在一个主窗口中混合使用pack和grid

(1)标签控件

1 from tkinter import *

2

3 tk=Tk()

4 #标签控件,显示文本和位图,展示在第一行

5 Label(tk,text="First").grid(row=0)

6 Label(tk,text="Second").grid(row=1)#第二行

7

8 #主事件循环

9 mainloop()

(2) 输入控件

1 from tkinter import *

2

3 tk=Tk()

4 #标签控件,显示文本和位图,展示在第一行

5 Label(tk,text="First").grid(row=0)

6 Label(tk,text="Second").grid(row=1)#第二行

7

8 #输入控件

9 Entry(tk).grid(row=0,column=1)

10 Entry(tk).grid(row=1,column=1)

11

12 #主事件循环

13 mainloop()

(3)sticky参数的使用

1 from tkinter import *

2

3 tk=Tk()

4 #标签控件,显示文本和位图,展示在第一行

5 Label(tk,text="First").grid(row=0,sticky=E)#靠右

6 Label(tk,text="Second").grid(row=2,sticky=W)#第二行,靠左

7

8 #输入控件

9 Entry(tk).grid(row=0,column=1)

10 Entry(tk).grid(row=2,column=1)

11

12 #主事件循环

13 mainloop()

(4)columnspan和rowspan参数的使用

columnspan选项可以指定控件跨越多列显示,而rowspan选项同样可以指定控件跨越多行显示。

1 from tkinter import *

2

3 tk=Tk()

4 var=IntVar()

5

6 #标签控件,显示文本和位图,展示在第一行

7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

9

10 #输入控件

11 Entry(tk).grid(row=0,column=1)

12 Entry(tk).grid(row=1,column=1)

13

14 button=Checkbutton(tk,text="Precerve aspect",variable=var)

15 button.grid(sticky=W)

16

17 #主事件循环

18 mainloop()

跨越两列显示如下

1 from tkinter import *

2

3 tk=Tk()

4 var=IntVar()

5

6 #标签控件,显示文本和位图,展示在第一行

7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

9

10 #输入控件

11 Entry(tk).grid(row=0,column=1)

12 Entry(tk).grid(row=1,column=1)

13

14 button=Checkbutton(tk,text="Precerve aspect",variable=var)

15 button.grid(columnspan=2,sticky=W)

16

17 #主事件循环

18 mainloop()

1 from tkinter import *

2

3 tk=Tk()

4 var=IntVar()

5

6 #标签控件,显示文本和位图,展示在第一行

7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

9

10 #输入控件

11 Entry(tk).grid(row=0,column=1)

12 Entry(tk).grid(row=1,column=1)

13

14 #多选框插件

15 button=Checkbutton(tk,text="Precerve aspect",variable=var)

16 button.grid(row=2,columnspan=2,sticky=W)

17

18 #插入图片

19 photo=PhotoImage(file="python_logo.gif")

20 label=Label(image=photo)

21 label.image=photo

22 label.grid(row=0,column=2)

23

24 #主事件循环

25 mainloop()

1 from tkinter import *

2

3 tk=Tk()

4 var=IntVar()

5

6 #标签控件,显示文本和位图,展示在第一行

7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

9

10 #输入控件

11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)

12 Entry(tk).grid(row=1,column=1)

13

14 #多选框插件

15 button=Checkbutton(tk,text="Precerve aspect",variable=var)

16 button.grid(row=2,columnspan=2,sticky=W)

17

18 #插入图片

19 photo=PhotoImage(file="python_logo.gif")

20 label=Label(image=photo)

21 label.image=photo

22 label.grid(row=0,column=2,rowspan=2,columnspan=2,

23 sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度

24

25 #主事件循环

26 mainloop()

(5)

1 from tkinter import *

2

3 tk=Tk()

4 var=IntVar()

5

6 #标签控件,显示文本和位图,展示在第一行

7 Label(tk,text="First").grid(row=0,sticky=E)#靠右

8 Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左

9

10 #输入控件

11 Entry(tk).grid(row=0,column=1,padx=10,pady=10)

12 Entry(tk).grid(row=1,column=1)

13

14 #多选框插件

15 button=Checkbutton(tk,text="Precerve aspect",variable=var)

16 button.grid(row=2,columnspan=2,sticky=W)

17

18 #插入图片

19 photo=PhotoImage(file="python_logo.gif")

20 label=Label(image=photo)

21 label.grid(row=0,column=2,rowspan=2,columnspan=2,

22 sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度

23

24 #按钮控件

25 button1=Button(tk,text="Zoom in")

26 button1.grid(row=2,column=2)

27 button2=Button(tk,text="Zoom out")

28 button2.grid(row=2,column=3)

29

30

31 #主事件循环

32 mainloop()

(6)padx和pady参数的应用

1 from tkinter import *

2 import time

3

4 t = Tk()

5 t.title('与python聊天中')

6

7 #创建frame容器

8 frmLT = Frame(width=500, height=320, bg='white')

9 frmLC = Frame(width=500, height=150, bg='red')

10 frmLB = Frame(width=500, height=30)

11 frmRT = Frame(width=200, height=500)

12

13 frmLT.grid(row=0, column=0)

14 frmLC.grid(row=1, column=0)

15 frmLB.grid(row=2, column=0)

16 frmRT.grid(row=0, column=1, rowspan=3)

1 from tkinter import *

2 import time

3

4 t = Tk()

5 t.title('与python聊天中')

6

7 #创建frame容器

8 frmLT = Frame(width=500, height=320, bg='white')

9 frmLC = Frame(width=500, height=150, bg='red')

10 frmLB = Frame(width=500, height=30)

11 frmRT = Frame(width=200, height=500)

12

13 frmLT.grid(row=0, column=0,padx=1,pady=3)

14 frmLC.grid(row=1, column=0,padx=1,pady=3)

15 frmLB.grid(row=2, column=0)

16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)

利用padx和pady,可以将框架边界区分开

1 from tkinter import *

2 import time

3

4 t = Tk()

5 t.title('与python聊天中')

6

7 #创建frame容器

8 frmLT = Frame(width=500, height=320, bg='white')

9 frmLC = Frame(width=500, height=150, bg='red')

10 frmLB = Frame(width=500, height=30)

11 frmRT = Frame(width=200, height=500)

12

13 frmLT.grid(row=0, column=0,padx=1,pady=3)

14 frmLC.grid(row=1, column=0,padx=1,pady=3)

15 frmLB.grid(row=2, column=0)

16 frmRT.grid(row=0, column=1, rowspan=3,padx=2,pady=3)

17

18 '''#固定容器大小

19 frmLT.grid_propagate(0)

20 frmLC.grid_propagate(0)

21 frmLB.grid_propagate(0)

22 frmRT.grid_propagate(0)'''

23

24 #添加按钮

25 btnSend = Button(frmLB, text='发 送', width = 8)#在frmLB容器中添加

26 btnSend.grid(row=2,column=0)

27 btnCancel = Button(frmLB, text='取消', width = 8)

28 btnCancel.grid(row=2,column=1,sticky=E)

29

30 #添加图片

31 imgInfo = PhotoImage(file = "python_logo.gif")

32 lblImage = Label(frmRT, image = imgInfo)

33 lblImage.image = imgInfo

34 lblImage.grid()

35

36 #固定容器大小

37 frmLT.grid_propagate(0)

38 frmLC.grid_propagate(0)

39 frmLB.grid_propagate(0)

40 frmRT.grid_propagate(0)

Python Tkinter Grid布局管理器详解

Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1) ...

tkinter之grid布局管理器详解

在很久之前,我发过一篇,里面已经几乎涵盖了tkinter的大部分教程. 好吧,其实也就是上一篇而已啦. 所谓布局,就是指控制窗体容器中各个控件(组件)的位置关 ...

Grid 布局管理器

Grid 布局管理器: Grid布局类wx.GridSizer,Grid布局以网格形式对子窗口或控件进行摆放,容器被分成大小相等的矩形,一个矩形中放置一个子窗口或控件. wx.GridSizer构造方 ...

tkinter学习-布局管理器

阅读目录 pack 是按照添加顺序排列的组件 grid  是按照行/列形式排序的组件 place 允许程序员指定组件的大小和位置 pack: 说明:适用于少量的简单的组件的排列 fill:这个选项是告 ...

Python Tkinter模块 Grid(grid)布局管理器参数详解

在使用Tkinter模块编写图像界面时,经常用到pack()和grid()进行布局管理,pack()参数较少,使用方便,是最简单的布局,但是当控件数量较多时,可能需要使用grid()进行布局(不要在同 ...

spring的annotation-driven配置事务管理器详解

http://blog.sina.com.cn/s/blog_8f61307b0100ynfb.html ——————————————————————————————————————————————— ...

python基础教程笔记—即时标记(详解)

最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...

HTTP属性管理器详解

1)HTTP Cache Manager 2)HTTP Cookie 管理器 3)HTTP 信息头管理器 4)HTTP 授权管理器 5)HTTP 请求默认值 为什么会有这些http属性的配置元件? ...

NLB网路负载均衡管理器详解

序言 在上一篇配置iis负载均衡中我们使用啦微软的ARR,我在那篇文章也中提到了网站的高可用性,但是ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给down掉啦,那么做再多的应用服务 ...

随机推荐

web 前端常用组件【06】Upload 控件

因为有万恶的IE存在,所以当Web项目初始化并进入开发阶段时. 如果是项目经理,需要知道客户将会用什么浏览器来访问系统. 明确知道限定浏览器的情况下,你才能从容的让手下的封装必要的前端组件. 本篇文章 ...

SecurityError Error 2148 SWF 不能访问本地资源

错误提示: SWF 文件不能被本地访问 不能访问本地 只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源 错误信息: SecurityError: Error #2148: ...

Activity 属性设置大全

activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务 ...

echart所有汉字都显示中文,就echarts的toolbox注释显示乱码

echarts无所谓支不支持gbk编码这么一说,关键是页面的charset和echarts.js文件的charset是否匹配,如果不匹配,请使用如下方式引入:

有时候会苦于jar的搜索.这里我就给出我平时用到的吧,方便大家.后期会不断添加. 1.dom4j-1.6.1.jar 主要用于解析xml的jar包.下载地址:   http://pan.baidu.c ...

.NET 4.0 使用 asyn await

.NET 4.0 也可以使用asyn await 使用nuget 搜索await即可发现微软官方包,安装导项目就可以使用了.   参考:http://stackoverflow.com/questio ...

phpstorm设置篇

1.设置全局字体编码: File->settings->Editor->File Encodings 进入这个页面后,有个Global Encoding , 默认是 UTF8 ,如果 ...

学习HTML+JSP(更新中)

1.HTML文档=网页 2.html是超文本标记语言的的缩写 超文本:超越普通文本,可以在文档中添加普通文本不能添加的元素,如:图片.视频.超链接等 标记语言:本身没有逻辑能力和执行能力,只被读取 脚 ...

5、JVM--调优案例分析

5.1.案例分析 5.1.1.高性能硬件上的程序部署策略 假如一个15w/天左右的在线文档类型网站再准备更换硬件系统 新的硬件为4个CPU.16GB物理内存,操作系统为64为Cento是 Resin作 ...

OAuth2.0认证和授权以及单点登录

https://www.cnblogs.com/shizhiyi/p/7754721.html OAuth2.0认证和授权机制讲解 2017-10-30 15:33 by shizhiyi, 2273 ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python面向对象类_python面向对象-类和对象

一. 类的定义class类名():代码#定义类classWasher():defwash(self):print("洗衣服")注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。二. 创建对象对象名 类名()#创建对象w Washer()#调用方法w.wash() #洗衣服三. selfself指的是调用…

vant部署_vant ui rem配置流程

参考地址 https://www.cnblogs.com/WQLong/p/7798822.html1.下载lib-flexible使用的是vue-cliwebpack,通过npm来安装的npm i lib-flexible --save2.引入lib-flexible在main.js中引入lib-flexibleimport ‘lib-flexible/flexible‘3.设置meta标签通过meta标签&#…

terminal services 找不到_电脑局域网中查看不到其他计算机或无法连接的解决办法...

在办公环境中,电脑经常需要打开网络,进行一些文件共享的操作,但是有时会出现很多无法共享的情况,之前有一篇文章讲过解决办法,今天再来将一下具体无法共享的错误提示和相对应的处理方法,主要有以下几种情况…

如何避免mysql回表查询_mysql如何避免回表查询

《迅猛定位低效SQL?》留了一个尾巴:select id,name where name‘shenjian‘select id,name,sexwhere name‘shenjian‘多查询了一个属性,为何检索过程完全不同?什么是回表查询?什么是索引覆盖?如何实现索引…

python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...

本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作。分享给大家供大家参考,具体如下:爬一个电脑客户端的订单。罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chrome自带的F12类似。客户端有接单大厅,罗列…

python中multiply函数_python中numpy库内multiply()、dot()和 * 三种乘法运算的区别小计...

首先,导入函数包:import numpy as np1.np.multiply()函数:数组:(点对点)对应位置元素相乘矩阵:对应位置元素相乘示例:A np.array([[1,2],[3,4]])B np.array([[1,3],[2,4]])A_mat np.mat(A)B_mat np.mat(B)A_B_mult…

安装python3.6.1_如何安装python3.6.1/

如何在win7下安装Python及配置1、首先,从搜索python官载适合自己电脑python版本。2标右击桌面“计算机”择打开菜单栏中的性”。3、WindowsXP时,在新弹出的属性窗口,选择“高级”->“环境变量”。Windows7是,在新弹出的属性窗口…

编程入门python java和c语言_学习编程适不适合从Python入门?哪种语言更适合入门?...

本文对比了C语言和Python语言,分析它们作为编程入门语言各自的利弊,并给出了我推荐的编程学习道路。我本身已经入门了Python脚本语言,在进阶C语言和JAVA语言后,Python重学就轻松很多,几个小时就拾起了忘记的语法&#…

mysql 备份 一张表_mysql 备份表的一个方法

#--- start# 新建表create table sp2_match_comment_tmp like sp2_match_comment; # 这种方式 外键索引,触发器不会在新表中有,要自己添加LOCK TABLES sp2_match_comment write, sp2_match_comment AS smc2 read, sp2_match_comment_tmp write;# 导出最新…

springmvc的工作原理_SpringMVC工作原理

1 简介SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。2 运行原理…

java逻辑运算符_Java逻辑运算符

Java逻辑运算符Java逻辑运算符包含下面6中符号:&& 与 ;&& 与 前后两个操作数必须都是true才返回true,否则返回false& 不短路与 ; & 不短路与 表达式都会执行到|| 或; || 或 只要两个操作数中有一个是tru…

跨站点请求伪造_十大常见web漏洞——跨站点请求伪造(CSRF)

CSRF介绍什么是CSRF呢?我们直接看例子。https://mp.toutiao.com/profile_v3/graphic/preview?dodelete&pgc_id6829574701128352260这个URL是头条删除pgc_id为6829574701128352260的一篇文章的连接,通过执行这个URL用户就可以删除这篇文章。首先攻击…

java多线程队列_java多线程消费者生产者模式(BlockingQueue 通过阻塞队列实现)

import java.util.concurrent.BlockingQueue;import java.util.concurrent.LinkedBlockingQueue;/*** Created with IntelliJ IDEA.* User: csx* Date: 4/24/14* Time: 9:56 AM* To change this template use File | Settings | File Templates.** 生产者与消费者模型中&#x…

unique函数_C++核心准则C.35:基类的析构函数必须满足的条件

C.35: A base class destructor should be either public and virtual, or protected and nonvirtual基类的析构函数要么是公开的虚函数,要么是保护的非虚函数Reason(原因)To prevent undefined behavior. If the destructor is public, then calling code can atte…

java jta 例子_Java事务处理全解析(八)——分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)...

在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子。请通过以下方式下载github源代码:本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据库)&#xff0…

python连接redis哨兵_Python redis.sentinel方法代码示例

本文整理汇总了Python中redis.sentinel方法的典型用法代码示例。如果您正苦于以下问题:Python redis.sentinel方法的具体用法?Python redis.sentinel怎么用?Python redis.sentinel使用的例子?那么恭喜您, 这里精选的方法代码示例或…

交换两个数组 差最小 java_如何交换两个等长整形数组使其数组和的差最小(C和java实现)...

1 importjava.util.Arrays;23 /**4 *5 *authorAdministrator6 *7 */8 public classTestUtil {9 private int[] arrysMin null;1011 private int[] arrysMax null;1213 private int matchNum 0;1415 private boolean hasMatched false;1617 /**18 * 返回数组的所有元素的总和…

python 判断子序列_Leetcode练习(Python):第392题:判断子序列:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。...

题目&#xff1a;判断子序列&#xff1a;给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~ 500,000)&#xff0c;而 s 是个短字符串(长度 <100)。字符串的一个子序列是原始字符串删除一些(也可…

垂直串联六关节机器人调试手册_工业机器人有哪些应用你知道吗?

目前&#xff0c;工业机器人大部分集中于传统的焊接、喷涂等领域&#xff0c;我国工业机器人的核心部件和整机市场仍被国外垄断&#xff0c;工业机器人要面向整个智能制造市场&#xff0c;还需要具备应对整个智能制造过程中大多数工艺的能力&#xff0c;而工业互联网则是实现智…

flume avro java 发送数据_flume将数据发送到kafka、hdfs、hive、http、netcat等模式的使用总结...

1、source为http模式&#xff0c;sink为logger模式&#xff0c;将数据在控制台打印出来。conf配置文件如下&#xff1a;# Name the components on this agenta1.sources r1a1.sinks k1a1.channels c1# Describe/configure the sourcea1.sources.r1.type http #该设置表示接…