zoukankan      html  css  js  c++  java
  • tkinter中布局pack、place和grid(八)

    tkinter中布局pack、place和grid

    pack布局

    复制代码
     1 import tkinter
     2 
     3 wuya = tkinter.Tk()
     4 wuya.title("wuya")
     5 wuya.geometry("300x200+10+20")
     6 
     7 
     8 # fill控制填充方式
     9 lb1 = tkinter.Label(wuya,
    10                    text='wuya good good study',
    11                    bg='red',
    12                     )
    13 lb1.pack(fill=tkinter.X)
    14 
    15 
    16 # padding 控制边距,如果不设置则默认为0
    17 # padx,设置x方向的外边距,pady设置y方向的外边距
    18 lb2 = tkinter.Label(wuya,
    19                    text='wuyaa',
    20                    bg='green',
    21                     )
    22 lb2.pack(fill=tkinter.X,padx=10,pady=3)
    23 # ipadx,设置x方向的外边距,pady设置y方向的外边距
    24 lb3 = tkinter.Label(wuya,
    25                    text='wuyab',
    26                    bg='blue',
    27                     )
    28 lb3.pack(fill=tkinter.X,ipadx=10,ipady=3)
    29 
    30 
    31 # side 为依次放置
    32 lb4 = tkinter.Label(wuya,
    33                    text='wuya1',
    34                    bg='yellow',
    35                     )
    36 lb4.pack(side='left')
    37 lb4 = tkinter.Label(wuya,
    38                    text='wuya2',
    39                    bg='pink',
    40                     )
    41 lb4.pack(side='left',padx=3)
    42 
    43 wuya.mainloop()
    复制代码

    结果:

    place布局

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

    复制代码
     1 import tkinter
     2 
     3 wuya = tkinter.Tk()
     4 wuya.title("wuya")
     5 wuya.geometry("300x200+10+20")
     6 
    43 lb1 = tkinter.Label(wuya,
    44                    text='wuya good good study',
    45                    bg='red',
    46                     )
    47 lb1.place(x=10,y=10,width=200,height=120)
    48 
    49 lb2 = tkinter.Label(wuya,
    50                    text='wuya good good study',
    51                    bg='green',
    52                     )
    53 lb2.place(x=220,y=140,width=20,height=12)
    54 
    55 wuya.mainloop()
    复制代码

    结果为:

    grid布局

    复制代码
     1 import tkinter
     2 
     3 wuya = tkinter.Tk()
     4 wuya.title("wuya")
     5 wuya.geometry("300x200+10+20")
     6 
     7 citys = {'001':'beijing',
     8          '002':'shanghai',
     9          '111':'tianjing',
    10          '212':'xizang'}
    11 i = 0
    12 for item in citys:
    13     lb1 = tkinter.Label(wuya, text=item,relief=tkinter.RIDGE,width=15,fg='blue')
    14     lb1.grid(row=i,column=0)
    15     lb2 = tkinter.Label(wuya,text=citys[item],relief=tkinter.SUNKEN,width=15,fg='red')
    16     lb2.grid(row=i,column=1)
    17     i = i + 1
    18 
    19 wuya.mainloop()
    复制代码

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

    结果为:

  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/anita-harbour/p/9315464.html
Copyright © 2011-2022 走看看