tkinter -- PanedWindow

发布时间:2018-06-06 19:21:04编辑:Run阅读(1231)

    PaneWindow(面板)为一 gm,用来管理子 Widget

    向 PanedWindow 中添加 Pane

    代码:

    import tkinter as tk
    
    # 使用add方法
    root = tk.Tk()
    panes = tk.PanedWindow(orient='vertical')
    panes.pack(fill='both', expand=1)
    for i in ['Label', 'Button', 'Checkbutton', 'Radiobutton']:
        panes.add(eval('tk.'+i)(panes, text='hello'))
    root.mainloop()

    效果:

    blob.png



    删除 PanedWindow 指定的 pane

    代码:

    import tkinter as tk
    
    root = tk.Tk()
    ws = []
    panes = tk.PanedWindow(orient='vertical')
    panes.pack(fill='both', expand=1)
    # 创建四个 pane
    for i in ['Label', 'Button', 'Checkbutton', 'Radiobutton']:
        ws.append(eval('tk.'+i)(panes, text='hello'))
    for i in ws:
        panes.add(i)
    # 从 panes 中删除包含子 Button 的 pane,使用 remove 与 forget 相同
    panes.forget(ws[1])
    root.mainloop()

    效果:

    blob.png

    只有三个 widget,Button 已被删除



    在PanedWindow 指定位置添加一个 pane

    代码:

    import tkinter as tk
    
    root = tk.Tk()
    ws = []
    panes = tk.PanedWindow(orient='vertical')
    panes.pack(fill='both', expand=1)
    # 创建四个 pane
    for i in ['Label', 'Button', 'Checkbutton', 'Radiobutton']:
        ws.append(eval('tk.'+i)(panes, text='hello'))
    for i in ws:
        panes.add(i)
    # 注意被添加的 widget 是第一个参数,after 指定是位于那一个 widget 之后
    panes.paneconfig(tk.Label(panes, text='world'), after=ws[0])
    root.mainloop()

    效果:

    blob.png

关键字

上一篇: tkinter -- Frame

下一篇: tkinter -- Toplevel