2.Notebook
Notebook基本概念
Notebook也是一個(gè)Widget控件容器,這個(gè)控件的特點(diǎn)是有許多選項(xiàng)卡,當(dāng)選擇不同
選項(xiàng)卡時(shí)可以看到不同的子控件內(nèi)容,也可以當(dāng)作子窗口內(nèi)容。
使用Notebook()構(gòu)造方法的語法如下。
Notebook(父對(duì)象,options)
options參數(shù)如下:
(1)height:默認(rèn)是使用最大可能高度,如果設(shè)置數(shù)值則使用設(shè)置高度。
(2)padding:設(shè)置Notebook外圍的額外空間,可以設(shè)置4個(gè)數(shù)值代表left、top、
right、bottom四周的空間。
(3)width:默認(rèn)是使用最大可能寬度,如果設(shè)置數(shù)值則使用設(shè)置寬度。
整個(gè)建立Notebook框架的步驟如下:
(1)使用Notebook()建立Notebook對(duì)象,假設(shè)對(duì)象名稱是notebook。
(2)使用notebook對(duì)象調(diào)用add()方法。
add(子對(duì)象,text="xxx")
(3)上述代碼可以將子對(duì)象插入notebook,同時(shí)產(chǎn)生"xxx"選項(xiàng)卡名稱。
如果用正規(guī)語法表示add()方法,它的語法格式如下。
add(子對(duì)象,options)
options參數(shù)如下。
(1)compound:可以設(shè)置當(dāng)選項(xiàng)卡內(nèi)同時(shí)含圖像和文字時(shí),彼此之間的位置關(guān)系。
(2)image:選項(xiàng)卡以圖像方式呈現(xiàn)。
(3)padding:可以設(shè)置Notebook和面板Pane的額外空間。
(4)state:可能值可能是normal、disabled、hidden、如果是disabled表示無法被選取使用,
如果是hidden表示被隱藏。
(5)sticky:指出子窗口面板的配置方式,n/s/e/w分別代表North、South、East、West。
(6)text:選項(xiàng)卡中的字符串內(nèi)容。
(7)underline:從0開始計(jì)算的索引,指出第幾個(gè)字母含下畫線。
樣例:建立簡單Notebook的框架,這個(gè)程序中各選項(xiàng)卡中的子對(duì)象是Frame對(duì)象。
from tkinter import *
from tkinter.ttk import *
root=Tk()
root.title("ch14_6")
root.geometry("300x160")
notebook=Notebook(root)
frame1=Frame()
frame2=Frame()
notebook.add(frame1,text="選項(xiàng)卡1")
notebook.add(frame2,text="選項(xiàng)卡2")
notebook.pack(padx=10,pady=10,fill=BOTH,expand=TRUE)
root.mainloop()

綁定選項(xiàng)卡與子控件內(nèi)容
在選項(xiàng)卡1中增加內(nèi)容是"Python"的標(biāo)簽子對(duì)象。
label=Label(frame1,···) #frame1是label的父對(duì)象
在選項(xiàng)卡2中增加名稱是"Help"的功能按鈕子對(duì)象。
btn=Button(frame2,···) #frame2是btn的父對(duì)象
from tkinter import *
from tkinter import messagebox
from tkinter.ttk import *
def msg():
messagebox.showinfo("Notebook","歡迎使用Notebook")
root=Tk()
root.title("ch14_6")
root.geometry("300x160")
notebook=Notebook(root)
frame1=Frame()
frame2=Frame()
label=Label(frame1,text="Python")
label.pack(padx=10,pady=10)
btn=Button(frame2,text="Help",command=msg)
btn.pack(padx=10,pady=10)
notebook.add(frame1,text="選項(xiàng)卡1")
notebook.add(frame2,text="選項(xiàng)卡2")
notebook.pack(padx=10,pady=10,fill=BOTH,expand=TRUE)
root.mainloop()

其它類方法
Notebook.forget(tab_id)
移除指定的tab項(xiàng)
Notebook.hide(tab_id)
隱藏tab項(xiàng),可以用add方法恢復(fù)顯示
Notebook.select(tab_id)
激活指定tab項(xiàng),如果入?yún)榭眨祷禺?dāng)前激活的tab項(xiàng)
Notebook.tab(tab_id)
返回tab項(xiàng)詳細(xì)信息
Notebook.tabs()
返回含所有tab_id的列表