发布时间:2018-06-06 19:21:04编辑:Run阅读(5782)
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()效果:

删除 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()效果:

只有三个 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()效果:

上一篇: tkinter -- Frame
下一篇: tkinter -- Toplevel
51221
50646
41261
38073
32536
29441
28305
23162
23121
21459
1514°
2232°
1854°
1795°
2091°
1846°
2527°
4244°
4105°
2928°