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

  • Post author:
  • Post category:python


本文转自: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 …