Tkinter Notebook基本概念
Notebook也是一个Widget容器控件,这个控件的特点是有许多选项卡,当选择不同选项卡时可以看到不同的子控件内容,也可以当作子窗口内容。使用Notebook( )构造方法的语法如下。
Notebook(master, options)
options参数如下。
(1)height:默认是使用最大可能高度,如果设置数值则使用设置高度。
(2)padding:设置Notebook外围的额外空间,可以设置4个数值代表left、top、right、bottom四周的空间。
(3)width:默认是使用最大可能宽度,如果设置数值则使用设置宽度。
整个建立Notebook框架的步骤如下。
(1)使用Notebook( )建立Notebook对象,假设对象名称是notebook。
(2)使用notebook对象调用add( )方法。
add(child, text="xxx") # xxx是要添加的选项卡名字
(3)上述代码可以将子对象插入notebook,同时产生“xxx”选项卡名称。如果用正规语法表示add( )方法,它的语法格式如下。
add(child, options)
options参数如下。
(1)compound:可以设置当选项卡内同时含图像和文字时,彼此之间的位置关系。
(2)image:选项卡以图像方式呈现。
(3)padding:可以设置Notebook和面板Pane的额外空间。
(4)state:可能值是normal、disabled、hidden,如果是disabled表示无法被选取使用,如果是hidden表示被隐藏。
(5)sticky:指出子窗口面板的配置方式,n/s/e/w分别代表North、South、East、West。
(6)text:选项卡中的字符串内容。
(7)underline:从0开始计算的索引,指出第几个字母含下画线。
示例1
简单建立Notebook的框架,这个程序中各选项卡中的子对象是Frame对象,可参考第11、12行。
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("apidemos.com")
root.geometry("300x160")
notebook = Notebook(root) # 创建Notebook
frame1 = Frame() # 创建Frame1
frame2 = Frame() # 创建Frame2
notebook.add(frame1,text="Frame 1") # 创建选项卡1同时插入Frame1
notebook.add(frame2,text="Frame 2") # 创建选项卡2同时插入Frame2
notebook.pack(padx=10,pady=10,fill=BOTH,expand=TRUE)
root.mainloop()
输出: