zoukankan      html  css  js  c++  java
  • 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布局管理

  • 相关阅读:
    tuple 元组及字典dict
    day 49 css属性补充浮动 属性定位 抽屉作业
    day48 选择器(基本、层级 、属性) css属性
    day47 列表 表单 css初识
    day 46 http和html
    day 45索引
    day 44 练习题讲解 多表查询
    day 40 多表查询 子查询
    day39 表之间的关联关系、 补充 表操作总结 where 、group by、
    day38 数据类型 约束条件
  • 原文地址:https://www.cnblogs.com/xuey/p/9293772.html
Copyright © 2011-2022 走看看