美文网首页Python 专题
小鱼儿学Tkinter-place 布局

小鱼儿学Tkinter-place 布局

作者: 小鱼儿_yzh | 来源:发表于2022-06-29 18:18 被阅读0次

    tkinter 有三种布局管理方式:

    · pack · grid · place
    注意这三种布局管理在同一个 master window 里一定不可以混用!

    布局管理有以下功能:

    • 将控件放置在屏幕上,包括控件的位置及控件的大小
    • 将控件注册到本地窗口系统中
    • 管理控件在屏幕上的显示

    虽然控件自己也可以指定大小和对齐方式等信息, 但最终的控件大小及位置还是由布局管理决定的.

    **place 布局

    • Place 布局管理可以显式的指定控件的绝对位置或相对于其他控件的位置.
    • 要使用 Place 布局, 调用相应控件的 place() 方法就可以了.
    • 所有 tkinter 的标准控件都可以调用 place()

    代码:

    from tkinter import *
    root=Tk()
    root.geometry('200x200')
    lb=Label(root,text = 'Label',fg='red')
    #使用绝对坐标将组件放到指定的位置
    lb.place(x=10,y=10,anchor=NW)
    
    lb1=Label(root,text='label2',fg='blue')
    # 使用相对坐标放置组件位置
    # relx, rely 指定组件放置的绝对位置,范围为(0-1.0)
    lb1.place(relx=0.5,rely=0.5,anchor=CENTER)
    # place同时指定多个组件
    # v = IntVar()
    for i in range(1,6):
        Radiobutton(
                    root,
                    text='radio'+str(i),
                    #variable=v,
                    #value=i
                    ).place(y=30*i,anchor=NW)
    #同时使用相对和绝对坐标时,相对坐标优先操作,然后是在这个相对坐标的基础上进行偏移
    lb2 =Label(root,text='place2',fg='green')
    lb3=Label(root,text='place',fg='red')
    #先设置相对坐标为(0.01,0.2)
    lb2.place(relx=0.01,rely=0.2,anchor=CENTER,x=160,y=0)
    #先设置相对坐标为(0.01,0.02)
    lb3.place(relx=0.01,rely=0.02,anchor=CENTER,x=160,y=160)
    root.mainloop()
    
    

    效果图:

    效果演示

    参考资料:

    Python的GUI编程之 Pack、Place、Grid 的区别

    相关文章

      网友评论

        本文标题:小鱼儿学Tkinter-place 布局

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