《Python GUI设计 tkinter菜鸟编程》配套代码 第14章 容器 PanedWindow 和 Notebook

    科技2024-12-27  26

    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()
    Processed: 0.015, SQL: 8