Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

ttk_notebook (1t)


ttk_notebook - paned container widget


ttk::notebook pathname ?options...?
pathname add window ?options...?
pathname insert index window ?options...?


ttk::notebook(1t)              Tk Themed Widget              ttk::notebook(1t)


       ttk::notebook - Multi-paned container widget

       ttk::notebook pathname ?options...?
       pathname add window ?options...?
       pathname insert index window ?options...?

       A  ttk::notebook  widget manages a collection of windows and displays a
       single one at a time.  Each slave window  is  associated  with  a  tab,
       which the user may select to change the currently-displayed window.

       -class                -cursor              -takefocus

       See the ttk_widget manual entry for details on the standard options.

       Command-Line Name:-height
       Database Name:  height
       Database Class: Height

              If  present  and greater than zero, specifies the desired height
              of the pane area (not including internal padding or tabs).  Oth-
              erwise, the maximum height of all panes is used.

       Command-Line Name:-padding
       Database Name:  padding
       Database Class: Padding

              Specifies the amount of extra space to add around the outside of
              the notebook.  The padding is a list of up to four length speci-
              fications  left  top  right bottom.  If fewer than four elements
              are specified, bottom defaults to top, right defaults  to  left,
              and  top defaults to left.  In other words, a list of three num-
              bers specify the left, vertical, and right padding;  a  list  of
              two  numbers  specify the horizontal and the vertical padding; a
              single number specifies the same padding all the way around  the

       Command-Line Name:-width
       Database Name:  width
       Database Class: Width

              If present and greater than zero, specifies the desired width of
              the pane area (not including internal padding).  Otherwise,  the
              maximum width of all panes is used.

       The following options may be specified for individual notebook panes:

       Command-Line Name:-state
       Database Name:  state
       Database Class: State

              Either normal, disabled or hidden.  If disabled, then the tab is
              not selectable.  If hidden, then the tab is not shown.

       Command-Line Name:-sticky
       Database Name:  sticky
       Database Class: Sticky

              Specifies how the slave window is  positioned  within  the  pane
              area.   Value is a string containing zero or more of the charac-
              ters n, s, e, or w.  Each letter refers to a side (north, south,
              east, or west) that the slave window will "stick" to, as per the
              grid geometry manager.

       Command-Line Name:-padding
       Database Name:  padding
       Database Class: Padding

              Specifies the amount of extra space to add between the  notebook
              and  this  pane.   Syntax is the same as for the widget -padding

       Command-Line Name:-text
       Database Name:  text
       Database Class: Text

              Specifies a string to be displayed in the tab.

       Command-Line Name:-image
       Database Name:  image
       Database Class: Image

              Specifies an image to display in the tab.  See ttk_widget(n) for

       Command-Line Name:-compound
       Database Name:  compound
       Database Class: Compound

              Specifies  how to display the image relative to the text, in the
              case both -text and -image are present.  See label(n) for  legal

       Command-Line Name:-underline
       Database Name:  underline
       Database Class: Underline

              Specifies  the  integer index (0-based) of a character to under-
              line in the text string.  The underlined character is  used  for
              mnemonic activation if ttk::notebook::enableTraversal is called.

       The  tabid  argument to the following commands may take any of the fol-
       lowing forms:

       o      An integer between zero and the number of tabs;

       o      The name of a slave window;

       o      A positional specification of the form "@x,y", which  identifies
              the tab

       o      The  literal  string  "current", which identifies the currently-
              selected tab; or:

       o      The literal string "end", which returns the number of tabs (only
              valid for "pathname index").

       pathname add window ?options...?
              Adds a new tab to the notebook.  See TAB OPTIONS for the list of
              available options.  If window is currently managed by the  note-
              book but hidden, it is restored to its previous position.

       pathname configure ?options?
              See ttk::widget(n).

       pathname cget option
              See ttk::widget(n).

       pathname forget tabid
              Removes  the  tab  specified  by tabid, unmaps and unmanages the
              associated window.

       pathname hide tabid
              Hides the tab specified by tabid.  The  tab  will  not  be  dis-
              played,  but  the associated window remains managed by the note-
              book and its  configuration  remembered.   Hidden  tabs  may  be
              restored with the add command.

       pathname identify component x y
              Returns  the  name of the element under the point given by x and
              y, or the empty string if no component is present at that  loca-
              tion.  The following subcommands are supported:

              pathname identify element x y
                     Returns  the  name  of the element at the specified loca-

              pathname identify tab x y
                     Returns the index of the tab at the specified location.

       pathname index tabid
              Returns the numeric index of the tab specified by tabid, or  the
              total number of tabs if tabid is the string "end".

       pathname insert pos subwindow options...
              Inserts  a  pane  at  the specified position.  pos is either the
              string end, an integer index, or the name of a  managed  subwin-
              dow.   If subwindow is already managed by the notebook, moves it
              to the specified position.  See TAB  OPTIONS  for  the  list  of
              available options.

       pathname instate statespec ?script...?
              See ttk::widget(n).

       pathname select ?tabid?
              Selects  the specified tab.  The associated slave window will be
              displayed, and the previously-selected window (if different)  is
              unmapped.   If  tabid is omitted, returns the widget name of the
              currently selected pane.

       pathname state ?statespec?
              See ttk::widget(n).

       pathname tab tabid ?-option ?value ...
              Query or modify the options of the specific tab.  If no  -option
              is specified, returns a dictionary of the tab option values.  If
              one -option is specified, returns  the  value  of  that  option.
              Otherwise,  sets  the -options to the corresponding values.  See
              TAB OPTIONS for the available options.

       pathname tabs
              Returns the list of windows managed  by  the  notebook,  in  the
              index order of their associated tabs.

       To  enable  keyboard traversal for a toplevel window containing a note-
       book widget $nb, call:
              ttk::notebook::enableTraversal $nb

       This will extend the bindings for the toplevel  window  containing  the
       notebook as follows:

       o      Control-Tab  selects  the  tab  following the currently selected

       o      Control-Shift-Tab  selects  the  tab  preceding  the   currently
              selected one.

       o      Alt-K,  where  K  is  the mnemonic (underlined) character of any
              tab, will select that tab.

       Multiple notebooks in a single toplevel may be enabled  for  traversal,
       including  nested  notebooks.   However,  notebook traversal only works
       properly if all panes are direct children of the notebook.

       The notebook widget generates a  <<NotebookTabChanged>>  virtual  event
       after a new tab is selected.

              pack [ttk::notebook .nb]
              .nb add [frame .nb.f1] -text "First tab"
              .nb add [frame .nb.f2] -text "Second tab"
              .nb select .nb.f2
              ttk::notebook::enableTraversal .nb

       See attributes(7) for descriptions of the following attributes:

       |Availability   | runtime/tk-8     |
       |Stability      | Uncommitted      |

       ttk::widget(n), grid(n)

       pane, tab

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from         https://source-

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.

Tk                                    8.5                    ttk::notebook(1t)