'''Tkinter教程值PaneWindow'''
#PaneWindow(面板)為一gm,用來管理子Widget
'''1.向PanedWindow中添加Pane'''
#使用add方法
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
panes = PanedWindow(orient = VERTICAL)
panes.pack(fill = BOTH,expand = 1)
for w in [Label,Button,Checkbutton,Radiobutton]:
panes.add(w(panes,text = 'hello'))
root.mainloop()
#每個pane中建立一個widget
'''2.刪除PanedWindow指定的pane'''
#使用forget/remove方法
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
ws = []
panes = PanedWindow(orient = VERTICAL)
panes.pack(fill = BOTH,expand = 1)
#建立四個pane
for w in [Label,Button,Checkbutton,Radiobutton]:
ws.append(w(panes,text = 'hello'))
for w in ws:
panes.add(w)
#從panes中刪除包含子Button的pane,使用remove與forget相同
panes.forget(ws[1])
#panes.remove(ws[1])
root.mainloop()
#只有三個widget,Button已被刪除。
'''3.在PanedWindow指定位置添加一個pane'''
#使用paneconfig方法
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
ws = []
ps = PanedWindow(orient = VERTICAL)
ps.pack(fill = BOTH,expand = 1)
#建立四個pane
for w in [Label,Button,Checkbutton,Radiobutton]:
ws.append(w(ps,text = 'hello'))
for w in ws:
ps.add(w)
#在0之後添加一個Lable,出錯!!!
#ps.after(ws[0],Label(ps,text = 'world'))
#注意被添加的widget是第一個參數,after指定是位於那一個widget之後
#不要與after方法混淆了
ps.paneconfig(Label(ps,text = 'world'),after = ws[0])
root.mainloop()
#這個widget主要也是用來做Container的,使用了大量的gm方法。
#author: jcodeer
#blog: jcodeer.cublog.cn
#email: jcodeer@126.com