• 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()
    

      

    三、效果图

  • 相关阅读:
    ccf I’m stuck!
    ccf 最大的矩形
    ccf ISBN号码
    ccf 出现次数最多的数
    ccf 相反数
    BestCoder Round #33
    15年3月CCF真题5-最小花费
    15年3月CCF真题4-网络延时
    15年3月CCF真题3-节日
    15年3月CCF真题2-数字排序
  • 原文地址:https://www.cnblogs.com/yang-2018/p/11824462.html
Copyright © 2020-2023  润新知