zoukankan      html  css  js  c++  java
  • tkinter入门-布局方式pack(), grid(), place()

    pack 转载于https://www.cnblogs.com/kongzhagen/p/6144588.html

    1. 使用pack函数的时候,默认先使用放到上面的,然后依次从上向下排 

    2. 可接受的默认参数

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

                 left: 左 

                 right: 右 

                 top: 上 

                  bottom: 下 

          fill: 填充 

                x: 水平方向填充 

                y: 竖直方向填充 

               bottom:水平和竖直方向填充 

               none: 不填充 

           expand:

                 yes: 扩展整个空白区 

                 no: 不扩展 

           anchor:

                 N: 北 下 

                 E: 东 右 

                 S: 南下 

                 W: 西 左     

            padx:x方向的外边距

      pady:y方向的外边距

      ipadx:x方向的内边距

      ipady: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)
    Button(root,text='D').pack(side=LEFT,expand=NO,fill=Y)
    Button(root,text='E').pack(side=TOP,expand=YES,fill=BOTH)
    Button(root,text='F').pack(side=BOTTOM,expand=YES)
    Button(root,text='G').pack(anchor=SE)
    root.mainloop()

    效果图 :

    grid() 通常是进行栅格样式的摆放方式 

    import tkinter
    
    
    root = tkinter.Tk()
    
    root.minsize(500, 500)
    
    
    btn1 = tkinter.Button(root, text='按钮1')
    btn1.grid(row=0, column=0)
    btn2 = tkinter.Button(root, text='按钮2')
    btn2.grid(row=0, column=1)
    btn3 = tkinter.Button(root, text='按钮3')
    btn3.grid(row=1, column=0)
    btn3 = tkinter.Button(root, text='按钮4')
    btn3.grid(row=1, column=1)
    btn4 = tkinter.Button(root, text="按钮5")
    btn4.grid(row=2, column=0, columnspan=2, ipadx=20)  # 占据两行
    
    btnd = tkinter.Button(root, text='按钮0')
    btnd.grid(row=0, column=2, rowspan=2, ipady=16)  # 占据两列
    
    root.mainloop()

    place() 主要采用的是绝对的摆放方式,主要是方式由两种 第一种x, y, width, height  和  relx, rely, relwidth, relheight 按照比例进行摆放 

    import tkinter
    
    
    # 创建主窗口对象
    root = tkinter.Tk()
    
    root.minsize(500, 500)
    # root.geometry('500x300+500+200') # 设置固定窗口的大小
    
    btn1 = tkinter.Button(root, text='按钮1')
    btn1.place(relx=100 / 500, rely = 50 / 500, )
    
    btn2 = tkinter.Button(root, text='按钮2')
    btn2.place(relx=200/500, rely=50/500, relwidth=0.1, relheight=0.3)
    
    root.mainloop()

  • 相关阅读:
    ASP.NET CORE 2.0 模板 (Admin LTE)
    MVC5+EF6 完整教程17--升级到EFCore2.0
    MVC 5 + EF6 完整教程16 -- 控制器详解
    MVC 5 + EF6 完整教程15 -- 使用DI进行解耦
    MVC 5 + EF6 入门完整教程14 -- 动态生成面包屑导航
    MVC5+EF6 入门完整教程13 -- 动态生成多级菜单
    MVC5+EF6 入门完整教程12--灵活控制Action权限
    MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用
    LeetCode 504. Base 7
    LeetCode 594. Longest Harmonious Subsequence
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/11971525.html
Copyright © 2011-2022 走看看