tkinter中布局pack、place和grid

pack布局

 import tkinter

 wuya = tkinter.Tk()
 wuya.title("wuya")
 wuya.geometry("300x200+10+20")

 # fill控制填充方式
 lb1 = tkinter.Label(wuya,
                    text='wuya good good study',
                    bg='red',
                     )
 lb1.pack(fill=tkinter.X)

 # padding 控制边距,如果不设置则默认为0
 # padx,设置x方向的外边距,pady设置y方向的外边距
 lb2 = tkinter.Label(wuya,
                    text='wuyaa',
                    bg='green',
                     )
 lb2.pack(fill=tkinter.X,padx=10,pady=3)
 # ipadx,设置x方向的外边距,pady设置y方向的外边距
 lb3 = tkinter.Label(wuya,
                    text='wuyab',
                    bg='blue',
                     )
 lb3.pack(fill=tkinter.X,ipadx=10,ipady=3)

 # side 为依次放置
 lb4 = tkinter.Label(wuya,
                    text='wuya1',
                    bg='yellow',
                     )
 lb4.pack(side='left')
 lb4 = tkinter.Label(wuya,
                    text='wuya2',
                    bg='pink',
                     )
 lb4.pack(side='left',padx=3)

 wuya.mainloop()

结果:

place布局

比较好理解,直接以所在的窗口的左上角为(0,0)开始计算,x为横向的尺寸,y为纵向的尺寸,然后设置显示的宽和高

 import tkinter

 wuya = tkinter.Tk()
 wuya.title("wuya")
 wuya.geometry("300x200+10+20")

 lb1 = tkinter.Label(wuya,
                    text='wuya good good study',
                    bg='red',
                     )
 lb1.place(x=10,y=10,width=200,height=120)

 lb2 = tkinter.Label(wuya,
                    text='wuya good good study',
                    bg='green',
                     )
 lb2.place(x=220,y=140,width=20,height=12)

 wuya.mainloop()

结果为:

grid布局

 import tkinter

 wuya = tkinter.Tk()
 wuya.title("wuya")
 wuya.geometry("300x200+10+20")

 citys = {':'beijing',
          ':'shanghai',
          ':'tianjing',
          ':'xizang'}
 i = 0
 for item in citys:
     lb1 = tkinter.Label(wuya, text=item,relief=tkinter.RIDGE,width=15,fg='blue')
     lb1.grid(row=i,column=0)
     lb2 = tkinter.Label(wuya,text=citys[item],relief=tkinter.SUNKEN,width=15,fg='red')
     lb2.grid(row=i,column=1)
     i = i + 1

 wuya.mainloop()

row表示行,第几行。column表示列,第几列。计算的时候都是从0开始的

结果为:

tkinter中布局pack、place和grid(八)的更多相关文章

  1. [Tkinter 教程] 布局管理 (Pack Place Grid)

    原系列地址: Python Tkinter 简介: 本文讲述如何使用 tkinter 的布局管理 (被称作 layout managers 或 geometry managers). tkinter ...

  2. tkinter gui控件回调和grid布局优化

    0.引子 Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序.由于 Tkinter 是内置到 python 的安装包中.只要安装 ...

  3. python tkinter学习——布局

    目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side padx pady ipadx ipady ...

  4. Tkinter教程之Pack篇

    本文转载自:http://blog.csdn.net/jcodeer/article/details/1813077 '''Tkinter教程之Pack篇'''#Pack为一布局管理器,可将它视为一个 ...

  5. 重新想象 Windows 8 Store Apps (7) - 控件之布局控件: Canvas, Grid, StackPanel, VirtualizingStackPanel, WrapGrid, VariableSizedWrapGrid

    原文:重新想象 Windows 8 Store Apps (7) - 控件之布局控件: Canvas, Grid, StackPanel, VirtualizingStackPanel, WrapGr ...

  6. tkinter中鼠标与键盘事件(十五)

    鼠标与键盘事件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200+ ...

  7. tkinter中checkbutton多选框控件和variable用法(六)

    checkbutton控件 简单的实现多选: import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry ...

  8. CSS Grid 布局完全指南(图解 Grid 详细教程)

    CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...

  9. tkinter中combobox下拉选择控件(九)

    combobox控件,下拉菜单控件 combobox控件在tkinter中的ttk下 简单的实现下: import tkinter from tkinter import ttk # 导入ttk模块, ...

随机推荐

  1. html5标签基础

    1.声明:<!DOCTYPE> HTML有多个不同的版本,只有完全明白页面中使用的确切HTML版本,浏览器才能完全正确的显示出HTML页面,这就是<!DOCTYPE>的用处. ...

  2. win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)

           首先说明的是,这个帖子是成功的编译了dll,但是这个dll使用的时候还是很容易出现各种问题的. 发现错误可能是由于系统安装了太多版本的opencv,环境变量的设置混乱,造成dll版本加载 ...

  3. 【5】-阿里面试题android网络图片加载优化

    题目: 遇到网络不好,卡顿的时候如何对网络的加载图片进行优化? 思路: 从加载的图片的本身和手机的存储两方面考虑 解决办法: 1.找现有图片格式的替换者 在众多的图片格式中,选择了Google的Web ...

  4. 深入源码解析类Route

    微软官网对这个类的说明是:提供用于定义路由及获取路由相关信息的属性和方法.这个说明已经很简要的说明了这个类的作用,下面我们就从源码的角度来看看这个类的内部是如何工作的. public class Ro ...

  5. spring事务探索

    spring自建事务管理模块.而且这个事务管理是一个抽象设计,可以应用到很多场合,包括普通的DataSource,jta,jms和hibernate上.  要正确使用spring的事务,首先需要了解s ...

  6. SpringBoot集成jsp

    一.springBoot集成jsp: 1.修改pom文件 <!--集成jsp所需jar包--> <!--jsp页面使用jstl标签--> <dependency> ...

  7. SQL解决数值间隔问题

    有表格存放每个顾客拥有的票.现在想查看哪些顾客的票不是连号,即有间隔.并找出间隔的开始与结束数字. create table tickets ( buyer_name char(5) not null ...

  8. FFPLAY的原理(四)

    意外情况 你们将会注意到我们有一个全局变量quit,我们用它来保证还没有设置程序退出的信号(SDL会自动处理TERM类似的信号).否则,这个线程将不停地运 行直到我们使用kill -9来结束程序.FF ...

  9. ExtJs Sencha Cmd创建项目以及编译项目

    一:创建项目 sencha sdk tool2.0无法创建api为sencha-touch-2.2.1的项目,需要使用SenchaCmd代替sencha sdk tool,其步骤如下: 1,下载安装s ...

  10. win10更新失败——适用于Windows 10 Version 1709 的03累积更新,适合基于x64系统(KB4088776)更新失败

    相信最近很多人被windows的更新折磨坏了,下面来介绍一下解决办法,有用的话请点赞! 首先将C盘中的这个文件夹删除:"C:\Windows\System32\Tasks\Microsoft ...