zoukankan      html  css  js  c++  java
  • tkinter布局

    一共有三种布局方式:pack、grid、place:

    pack布局,直接使用pack函数就可以了。
    1.默认先使用的放到上面,然后 依次向下排,它会给我们的组件一个自认为合适的位置和大小
    2.也可使用参数:
    side:指定了它停靠在哪个方向,可以为LEFT,TOP,RIGHT,BOTTOM,分别代表左,上,右,下
    fill:X,Y,BOTH和NONE,即在水平方向填充,竖直方向填充,水平和竖直方向填充和不填充
    expand:YES和NO, 父外框大小改变时,自动扩充大小
    anchor:N,E,S,W(这里的NESW分别表示北东南西,这里分别表示上右下左)以及他们的组合或者是CENTER(表示中间)
        
    ipadx表示的是内边距的x方向,它的ipady表示的是内边距的y方向,padx表示的是外边距的x方向,pady表示的是外边距的y方向,可以使用padx,pady设置与x、y轴的间距,即上下左右边距;

    如:
    from tkinter import *

    root = Tk()
    Button(root, text='A').pack(side=LEFT, expand=YES, fill=Y)
    Button(root, text='B').pack(side=TOP, expand=YES, fill=BOTH)
    Button(root, text='C').pack(side=RIGHT, expand=YES, fill=NONE, anchor=NE)
    Button(root, text='D').pack(side=LEFT, expand=YES, fill=Y)
    Button(root, text='E').pack(side=TOP, expand=NO, fill=BOTH)
    Button(root, text='F').pack(side=BOTTOM, expand=YES)
    Button(root, text='G').pack(anchor=SE
    , ipadx=50, ipady=30)

    root.mainloop()

    结果为:
     
    grid布局:
      grid可以理解为网格,或者表格,它可以把界面设置为几行几列的网格,我们在网格里插入我们想要的元素。这种布局的好处是不管我们如何拖动窗口,相对位置是不会变化的,而且这种布局也超简单
      参数:
      1.row表示行,column表示列,其中row和column的编号都从0开始
      2.sticky参数:以用N,E,S,W表示上右下左,它决定了这个组件是从哪个方向开始的
      3.支持ipadx,ipady,padx,pady,和pack函数是一样的,默认边距是0
      4.rowspan:表示跨越的行数;columnspan:表示跨越的列数

    如:
    from tkinter import *

    root = Tk()
    Label(root, text='账号:').grid(row=0, sticky=W)
    Entry(root).grid(row=0, column=1)

    Label(root, text='密码:').grid(row=1, sticky=W)
    Entry(root).grid(row=1, column=1)

    Button(root, text='确定').grid(row=2, column=1, sticky=E)

    root.mainloop()


  • 相关阅读:
    浏览器缓存机制
    关于CSRF的攻击
    关于CGI、FastCGI和PHP-FPM的关系
    PHP-FPM进程数的设定
    一个论坛引发的血案
    Django中的权限系统
    Django中使用ModelForm实现Admin功能
    Django中使用Bootstrap
    Django的用户认证
    vtkMapper
  • 原文地址:https://www.cnblogs.com/huwang-sun/p/7061217.html
Copyright © 2011-2022 走看看