Notebook 基本概念
Notebook 是一个Widget 容器控件,这个控件的特点就是有许多选项卡,当选择不同选项卡时可以看到不同的子控件内容,也可以当做子窗口内容,Notebook 是属于tkinter.ttk
模块的控件
构造方法如下:
Notebook(父对象, options)
参数:
- 第一个参数:
父对象
,表示这个选项卡将建立在哪一个窗口内 - 第二个参数:
options
,参数如下
参数 | 含义 |
---|---|
height | 如果设置数值则使用设置高度 默认是使用最大可能 高度 |
padding | 设置Notebook外围的额外空间 ,可以设置4个数值代表left、top、tight、bottom四周的空间 |
width | 如果设置数值则使用设置宽度 默认是使用最大可能 宽度 |
整个建立Notebook框架的步骤:
- Notebook()建立Notebook对象,假设对象名称是notebook
- 使用notebook对象调用add()方法
add(子对象, text='xxx')
- xxx是要添加的选项卡名称
- 上述代码可以将子对象插入notebook,同时产生’xxx’选项卡名称
如果用正规语法表示add()
方法,它的语法格式如下
add(子对象, options)
options参数如下:
参数 | 含义 |
---|---|
compound | 可以设置当选项卡内同时含图像和文字时,彼此之间的位置关系 |
image | 选项卡以图像 方式呈现 |
padding | 设置Notebook和面板Pane的额外空间 |
state | 可能值是normal、disabled、hidden 如果是 disabled 表示无法被选取使用如果是 hidden 表示被隐藏 |
sticky | 指出子窗口面板的配置方式,n/s/e/w 分别表示North、South、East、West |
text | 选项卡中的字符串内容 |
underline | 指出第几个字母含下划线 从0开始计算的索引 |
Notebook 基本应用
例子
:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
root.geometry('300x180')
notebook = tkinter.ttk.Notebook(root)
frameOne = tkinter.Frame()
frameTwo = tkinter.Frame()
notebook.add(frameOne, text='选项卡1')
notebook.add(frameTwo, text='选项卡2')
notebook.pack(padx=10, pady=5, fill=tkinter.BOTH, expand=True)
root.mainloop()
运行结果:
绑定选项卡与子控件内容
例子
:
import tkinter
import tkinter.ttk
root = tkinter.Tk()
root.geometry('150x120')
def show():
labelOther.config(text='Tkinter')
labelOther.config(bg='lightgreen')
notebook = tkinter.ttk.Notebook(root)
frameOne = tkinter.Frame()
frameTwo = tkinter.Frame()
# 添加内容
label = tkinter.Label(frameOne, text='Python', bg='lightblue', fg='red')
label.pack(padx=10, pady=5)
button = tkinter.Button(frameTwo, text='请点击', command=show)
button.pack(padx=10, pady=5)
labelOther = tkinter.Label(frameTwo, fg='red')
labelOther.pack(padx=10, pady=5)
notebook.add(frameOne, text='选项卡1')
notebook.add(frameTwo, text='选项卡2')
notebook.pack(padx=10, pady=5, fill=tkinter.BOTH, expand=True)
root.mainloop()
运行结果:
谢谢观看,笔者会持续更新,如有错误或者建议,请私信我