• python tkinter 布局


    pack布局

     pack 函数默认先使用的放到上面,然后依次向下排,水平位置居中(相对父窗口)

     pack  参数 [ 参数值必须大写 ]

      side:按扭停靠在窗口的哪个位置 

       left:左 、 top: 上 、right: 右、botton:下

      fill:填充

       x:水平方向填充、y:竖直方向填充、both:水平和竖直方向填充、none:不填充

       expand:是否扩展空白区

       yes:扩展整个空白区、no:不扩展     

      anchor:位置

        N:北  下、E:东  右、S:南 下、W:西 左、CENTER:中间 

     padx: x方向的外边距

     pady: y方向的外边距

     ipadx: x方向的内边距

     ipady: y方向的内边距 

    from tkinter import *
    root = Tk()
    Button(root,text='G').pack(anchor=E,padx=20)
    root.mainloop()

     grid 布局

     grid 函数也支持诸如 ipadx,ipady,padx,pady,它们 的意思和 pack 函数是一样的,默认边距是 0;

     grid 布局是网格格式 ,用 row 表示行,用 column 表示列,其中值得 注意的是 row 和 column 的编号都从 0 开始

     grid 参数 

      row 表示行

      column 表示列  

      sticky:它决定了这个组件是从哪个方向开始的

        N:北 上、E:东 右、S:南 下、W:西 左

      rowspan :  跨越(合并)的行数

      columnspan:  跨越(合并)的列数

    from tkinter import *
    
    tk=Tk()
    var=IntVar()
    
    #标签控件,显示文本和位图,展示在第一行
    Label(tk,text="First").grid(row=0,sticky=E)#靠右
    Label(tk,text="Second").grid(row=1,sticky=W)#第二行,靠左
    
    #输入控件
    Entry(tk).grid(row=0,column=1,padx=10,pady=10)
    Entry(tk).grid(row=1,column=1)
    
    #多选框插件
    button=Checkbutton(tk,text="Precerve aspect",variable=var)
    button.grid(row=2,columnspan=2,sticky=W)
    
    #插入图片
    photo=PhotoImage(file="wm.png")
    label=Label(image=photo)
    label.grid(row=0,column=2,rowspan=2,columnspan=2,
               sticky=W+E+N+S, padx=5, pady=5)#合并两行,两列,居中,四周外延5个长度
    
    #按钮控件
    button1=Button(tk,text="Zoom in")
    button1.grid(row=2,column=2)
    button2=Button(tk,text="Zoom out")
    button2.grid(row=2,column=3)
    
    
    #主事件循环
    mainloop()

    place 布局

      place 最简单最灵活的一种布局,使用组件坐标来放置组件的位置。但是不太推荐使用,在不同分辨率下,界面往往有较大差异。  

      place 参数   

    anchor:位置,默认值为 NW 同pack布局 

    x、y: 组件左上角的x、y坐标 整数,默认值0 绝对位置坐标,单位像素

    relx、rely :组件相对于父容器的x、y坐标 0~1之间浮点数 相对位置,0.0表示左边缘(或上边缘),1.0表示右边缘(或下边缘)

    width、height :组件的宽度、高度 非负整数 单位像素

    relwidth、relheight :组件相对于父容器的宽度、高度 0~1之间浮点数 与relx(rely)取值相似

    bordermode: 如果设置为INSIDE,组件内部的大小和位置是相对的,不包括边框;如果是OUTSIDE,组件的外部大小是相对的,包括边框 INSIDE、OUTSIDE(默认值INSIDE) 可以使用常量INSIDE、OUTSIDE,也可以使用字符串形式”inside”、”outside”

    from tkinter import *
    root = Tk()
    Button(root,text='G').place(x=20,y=30,width=30,height=40,bordermode=INSIDE)
    root.mainloop()

     相关文章:Python GUI之tkinter布局管理

  • 相关阅读:
    VS.net 2005快捷键一览表
    POJ 1141 Brackets Sequence
    POJ 3264 Balanced Lineup RMQ问题的ST解法
    Hdu 4267 A Simple Problem with Integers
    hdu 4009 Transfer water
    HDU 4288 Coder
    POJ 1679 The Unique MST
    hdu 4291 A Short problem
    hdu 1175 连连看(DFS)
    POJ 3164 Command Network
  • 原文地址:https://www.cnblogs.com/xuey/p/9293772.html
Copyright © 2020-2023  润新知