zoukankan      html  css  js  c++  java
  • tkinter的三种几何布局管理类

    1.pack()

      主要采用块的方式组织子组件

    如下:

    import tkinter

    root=tkinter.Tk()        #创建窗口对象

    label=tkinter.Label(root,text='hello,python')    #创建标签对象

    label.pack()     #将label组件添加到窗口中显示

    button1=tkinter.Button(root,text='BUTTON1')   #创建按钮对象

    button1.pack(side=tkinter.LEFT)     #将button1组件添加到窗口中显示,左停靠

    button2=tkinter.Button(root,text='BUTTON2')

    button2.pack(side=tkinter.RIGHT)

    root.mainloop()    #显示窗口

    效果如下:

    2.grid()

      采用表格结构组件子组织,它的两重要参数:row和column

    例子:计算器示例

    from tkinter import *
    root=Tk()
    root.geometry('200x200+280+280') #设置窗口大小
    root.title('计算器示例')
    L1=Button(root,text='1',width=5,bg='yellow')
    L2=Button(root,text='2',width=5)
    L3=Button(root,text='3',width=5)
    L4=Button(root,text='4',width=5)
    L5=Button(root,text='5',width=5,bg='green')
    L6=Button(root,text='6',width=5)
    L7=Button(root,text='7',width=5)
    L8=Button(root,text='8',width=5,bg='yellow')
    L9=Button(root,text='9',width=5)
    L0=Button(root,text='0')
    Lp=Button(root,text='.')
    L1.grid(row=0,column=0) #按钮放在0行0列
    L2.grid(row=0,column=1)
    L3.grid(row=0,column=2)
    L4.grid(row=1,column=0)
    L5.grid(row=1,column=1)
    L6.grid(row=1,column=2)
    L7.grid(row=2,column=0)
    L8.grid(row=2,column=1)
    L9.grid(row=2,column=2)
    L0.grid(row=3,column=0,columnspan=2,sticky=E+W)
    Lp.grid(row=3,column=2,sticky=E+W)
    root.mainloop() #显示窗口
    效果如下:

    3.place()

      允许指定组件的大小与位置,缺点是:改变窗口大小时组件不能随之灵活地改变大小.

    例:

    from tkinter import *
    root=Tk()
    root.title('登录')
    root['width']=200;root['height']=80         #初始化窗口大小
    Label(root,text='用户名',width=6).place(x=1,y=1)  #绝对坐标1,1
    Entry(root,width=20).place(x=45,y=1) #输入控件对象大小及坐标
    Label(root,width=20).place(x=45,y=1)
    Label(root,text='密码',width=6).place(x=1,y=20)
    Entry(root,width=20,show='*').place(x=40,y=20)
    Button(root,text='登录',width=8).place(x=40,y=40)
    Button(root,text='取消',width=8).place(x=110,y=40)
    root.mainloop()
    效果如下:

  • 相关阅读:
    [java核心篇02]__内部类
    iOS学习之MVC,MVVM,MVP模式优缺点
    iOS MVC、MVP和MVVM理解
    网络常见的9大命令
    计算机网络基础知识总结
    iOS面试常见问题和知识点汇总
    NSMutableArray 删除可变数组元素
    iOS之集成GoogleMap定位、搜索注意事项
    iOS 13-Sign In with Apple
    Lipo移除ORC架构
  • 原文地址:https://www.cnblogs.com/dbslinux/p/11520415.html
Copyright © 2011-2022 走看看