Tkinter 之NoteBook选项卡标签

一、参数说明

参数 作用
width 选项卡宽度,单位像素
height 选项卡高度
cursor 鼠标停留的样式
padding  外部空间填充,是个最多4个元素的列表
style 设置menubotton的样式

NoteBook方法列表:

.add(child, **kw)
该child 参数是一个小部件,通常Frame,它包装一个子窗格中的内容。如果child不是Notebook窗口小部件的子窗格之一,child则添加为下一个可用选项卡,关键字参数kw定义新窗格的选项卡选项。这些选项在表51“ ttk.Notebook 小部件的选项卡选项”中定义。
如果child是当前隐藏的窗格,则该选项卡将重新显示在其以前的位置。

.enable_traversal()

一旦调用此方法,一些额外的键绑定将起作用:
Control-Tab将在当前选择的选项卡后选择选项卡。如果当前选择了最后一个选项卡,则选择将旋转回第一个选项卡。
Shift-Control-Tab执行相反操作:它移动到上一个选项卡,如果选择了第一个选项卡,则环绕到最后一个选项卡。
您可以配置直接选择选项卡的特定热键。要执行此操作,请使用text和underline选项卡选项为每个选项卡中的一个字符加下划线。然后,用户可以通过键入Alt-跳转到选项卡,x其中 x是该选项卡上带下划线的字符。
如果Notebook在同一个应用程序中有多个小部件,则除非创建每个子窗格小部件并将其Notebook窗口小部件作为父窗口小部件,否则这些功能将无法正常工作。

.forget(child)
此方法child从窗口小部件的选项卡集中永久删除指定的内容。

.hide(tabId)
标识的选项卡tabId暂时从中显示的可见选项卡集中删除Notebook。您可以通过.add() 再次调用该方法来恢复它。

.index(tabId)
对于给定的tabId,此方法返回相应选项卡的数字索引。有一个例外:如果参数是字符串"end",则该方法将返回选项卡的总数。

.insert(where, child,**kw)
此方法使用任何关键字参数将窗口小部件插入到child指定的位置 where,以描述新选项卡和窗格。有关关键字选项,请参阅表51“ ttk.Notebook 小部件的选项卡选项”。
该where 参数可以是任何的:
“end” 在所有现有选项卡之后放置新选项卡。
现有的子窗口小部件; 在这种情况下,new child就在现有小部件之前插入。

.select([tabId])
如果在没有参数的情况下调用此方法,它将返回当前显示其选项卡的窗口小部件的窗口名称。
要显示特定窗格Notebook,请使用a tabId作为参数调用此方法。

.tab(tabId, option=None, **kw)
使用此方法可以为所描述的子窗格设置选项卡选项tabId,或者找出为该子窗格设置的选项。
如果您调用没有关键字参数的方法,它将返回当前对指定的窗格有效的选项卡选项的字典tagId。
要查找特定选项卡选项的当前值 X,请使用参数“option=X” 调用此方法,该方法将返回该选项卡选项的值。
要为描述的子项设置一个或多个选项卡选项tagId,请使用关键字参数调用此方法。例如,如果self.nb 是 Notebook,则此调用将更改第一个选项卡上显示的文本:
self.nb.tab(0, text=‘Crunchy frog’)

.tabs()
此方法返回的列表窗口名称中的Notebook的子窗格中,从第一个到最后的次序。

二、代码示例

import tkinter as tk
from tkinter import ttk

window = tk.Tk()
# 设置窗口大小
winWidth = 600
winHeight = 400
# 获取屏幕分辨率
screenWidth = window.winfo_screenwidth()
screenHeight = window.winfo_screenheight()

x = int((screenWidth - winWidth) / 2)
y = int((screenHeight - winHeight) / 2)

# 设置主窗口标题
window.title("TreeView参数说明")
# 设置窗口初始位置在屏幕居中
window.geometry("%sx%s+%s+%s" % (winWidth, winHeight, x, y))
# 设置窗口图标
window.iconbitmap("./image/icon.ico")
# 设置窗口宽高固定
window.resizable(0, 0)

# 定义列的名称
tab = ttk.Notebook(window)
frame1 = tk.Frame(tab, bg = "red")
tab1 = tab.add(frame1, text = "1")

frame2 = tk.Frame(tab, bg = "yellow")
tab2 = tab.add(frame2, text = "2")

frame3 = tk.Frame(tab, bg = "blue")
tab3 = tab.add(frame3, text = "3")

tab.pack(expand = True, fill = tk.BOTH)

# 设置选中tab2
tab.select(frame2)

window.mainloop()

  

三、效果图

猜你喜欢

转载自www.cnblogs.com/yang-2018/p/11824462.html