ch14_1.py
# ch14_1.py
from tkinter import *
pw = PanedWindow(orient=VERTICAL) # 创建PanedWindow对象
pw.pack(fill=BOTH,expand=True)
top = Label(pw,text="Top Pane") # 创建标签Top Pane
pw.add(top) # top标签插入PanedWindow
bottom = Label(pw,text="Bottom Pane") # 创建标签Bottom Pane
pw.add(bottom) # bottom标签插入PanedWindow
pw.mainloop()
ch14_2.py
# ch14_2.py
from tkinter import *
root = Tk()
root.title("ch14_2")
# pw = PanedWindow(root,orient=HORIZONTAL) # 创建PanedWindow对象
pw = PanedWindow(orient=HORIZONTAL) # 创建PanedWindow对象
leftframe = LabelFrame(pw,text="Left Pane",width=120,height=150)
pw.add(leftframe) # 插入左边LabelFrame
middleframe = LabelFrame(pw,text="Middle Pane",width=120)
pw.add(middleframe) # 插入中间LabelFrame
rightframe = LabelFrame(pw,text="Right Pane",width=120)
pw.add(rightframe) # 插入右边LabelFrame
pw.pack(fill=BOTH,expand=True,padx=10,pady=10)
root.mainloop()
ch14_3.py
# ch14_3.py
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("ch14_3")
# pw = PanedWindow(root,orient=HORIZONTAL) # 创建PanedWindow对象
pw = PanedWindow(orient=HORIZONTAL) # 创建PanedWindow对象
leftframe = LabelFrame(pw,text="Left Pane",width=120,height=150)
pw.add(leftframe,weight=1) # 插入左边LabelFrame
middleframe = LabelFrame(pw,text="Middle Pane",width=120)
pw.add(middleframe,weight=1) # 插入中间LabelFrame
rightframe = LabelFrame(pw,text="Right Pane",width=120)
pw.add(rightframe,weight=1) # 插入右边LabelFrame
pw.pack(fill=BOTH,expand=True,padx=10,pady=10)
root.mainloop()
ch14_4.py
# ch14_4.py
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("ch14_4")
# pw = PanedWindow(root,orient=HORIZONTAL) # 创建PanedWindow对象
pw = PanedWindow(orient=HORIZONTAL) # 创建PanedWindow对象
leftframe = LabelFrame(pw,text="Left Pane",width=120,height=150)
pw.add(leftframe,weight=2) # 插入左边LabelFrame
middleframe = LabelFrame(pw,text="Middle Pane",width=120)
pw.add(middleframe,weight=2) # 插入中间LabelFrame
rightframe = LabelFrame(pw,text="Right Pane",width=120)
pw.add(rightframe,weight=1) # 插入右边LabelFrame
pw.pack(fill=BOTH,expand=True,padx=10,pady=10)
root.mainloop()
ch14_5.py
# ch14_5.py
from tkinter import *
pw = PanedWindow(orient=HORIZONTAL) # 建立外层PanedWindow
pw.pack(fill=BOTH,expand=True)
entry = Entry(pw,bd=3)
pw.add(entry)
# 创建PanedWindow对象pwin,这是外层PanedWindow的子对象
pwin = PanedWindow(pw,orient=VERTICAL)
pw.add(pwin)
# 创建Scale,这是pwin对象的子对象
scale = Scale(pwin,orient=HORIZONTAL)
pwin.add(scale)
pw.mainloop()
ch14_6.py
# ch14_6.py
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("ch14_6")
root.geometry("300x160")
notebook = Notebook(root) # 创建Notebook
frame1 = Frame() # 创建Frame1
frame2 = Frame() # 创建Frame2
notebook.add(frame1,text="选项卡1") # 创建选项卡1同时插入Frame1
notebook.add(frame2,text="选项卡2") # 创建选项卡2同时插入Frame2
notebook.pack(padx=10,pady=10,fill=BOTH,expand=TRUE)
root.mainloop()
ch14_7.py
# ch14_7.py
from tkinter import *
from tkinter import messagebox
from tkinter.ttk import *
def msg():
messagebox.showinfo("Notebook","欢迎使用Notebook")
root = Tk()
root.title("ch14_7")
root.geometry("300x160")
notebook = Notebook(root) # 创建Notebook
frame1 = Frame() # 创建Frame1 # frame1 = Frame(root) # 没有发现有区别
frame2 = Frame() # 创建Frame2 # frame2 = Frame(root) # 没有发现有区别
label = Label(frame1,text="Python") # 在Frame1中创建标签控件
label.pack(padx=10,pady=10)
btn = Button(frame2,text="Help",command=msg)
btn.pack(padx=10,pady=10)
# notebook.add的调用顺序决定了布局的顺序
# notebook.add(frame2,text="页次2") # 创建选项卡2同时插入Frame2
notebook.add(frame1,text="页次1") # 创建选项卡1同时插入Frame1
notebook.add(frame2,text="页次2") # 创建选项卡2同时插入Frame2
notebook.pack(padx=10,pady=10,fill=BOTH,expand=TRUE)
root.mainloop()