美文网首页
python-tkinter-窗口部件管理

python-tkinter-窗口部件管理

作者: 叶子陪你玩 | 来源:发表于2019-06-11 09:12 被阅读0次

    Tkinter控件管理方法一共有三种:分别是pack(),grid(),palce(),通过这三种方法布局,将窗体容器中各个控件(组件)调整到我们想要放置的位置。

    1.pack布局

    使用 pack布局,将向容器中添加组件,默认第一个添加的组件在最上方,然后是依次向下添加,从上往下类似于前端布局中的块级元素。

    pack常用属性
    #创建三个 Label 分别添加到root窗体中 
    #Label是一种用来显示文字或者图片的组件
    tk.Label(root,text = 'pack1',bg = 'red').pack(fill="x",side="right",ipadx=50,padx="20",) 
    tk.Label(root, text = 'pack2', bg = 'blue').pack(anchor="w",expand="yes") 
    tk.Label(root, text = 'pack3', bg = 'green').pack()
    
    
    side="left",expand="yes"
    expand="yes"
    fill="x",expand="yes"
    pack1 side="left",pack2 side="top",pack3 )

    2.grid布局

    grid布局又被称作网格布局,是最被推荐使用的布局。程序大多数都是矩形的界面,我们可以很容易把它划分为一个几行几列的网格,然后根据行号和列号,将组件放置于网格之中。使用grid 布局时,需要在里面指定两个参数,分别用row 表示行,column 表示列。需要注意的是 row 和 column 的序号都从0 开始。

    grid常用属性
    正常显示
    #创建四个 Label 分别添加到root窗体中 
    #Label是一种用来显示文字或者图片的组件
    tk.Label(root,text = '第一行-3',bg = 'red').grid(row=0,column=2,ipadx=20,ipady=10,)
    tk.Label(root, text = '第二行-1', bg = 'blue').grid(row=1,column=0,rowspan=2,sticky="nw")
    tk.Label(root, text = '第二行-2', bg = 'green').grid(row=1,column=1,ipadx=20,ipady=10,)
    tk.Label(root, text = '第三行-1', bg = 'yellow').grid(row=2,column=0,columnspan=3,sticky="e")
    
    跨行跨列

    3.place布局

    最简单最灵活的一种布局,使用组件坐标来放置组件的位置。一般不推荐使用,除非在一些特定的情境下(比如需要精准坐标控制的)

    place常用属性
    #创建四个 Label 分别添加到root窗体中 
    #Label是一种用来显示文字或者图片的组件
    tk.Label(root,text = '第一行-3',bg = 'red').place(relx=0.5, rely=0.5, anchor="center")
    tk.Label(root, text = '第二行-1', bg = 'blue').place(x=0,y=0,relwidth=0.3,relheight=0.2)
    tk.Label(root, text = '第二行-2', bg = 'green').place(x=50,y=50,height=50,width=100)
    tk.Label(root, text = '第三行-1', bg = 'yellow').place(relx=0.7, rely=0.7,)
    
    place效果图

    相关文章

      网友评论

          本文标题:python-tkinter-窗口部件管理

          本文链接:https://www.haomeiwen.com/subject/vhatfctx.html