NAME¶
ttk::notebook - Multi-paned container widget
SYNOPSIS¶
ttk::notebook pathname ?options...?
pathname add window ?options...?
pathname insert index window ?options...?
DESCRIPTION¶
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.
STANDARD OPTIONS¶
-class -cursor -takefocus
-style
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).
Otherwise, 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
specifications left top right bottom. If fewer than four elements
are specified, bottom defaults to top, right defaults
to left, and top defaults to left.
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.
TAB OPTIONS¶
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 characters
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 option.
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(3tk) for details.
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(3tk) for legal values.
Command-Line Name: -underline
Database Name: underline
Database Class: Underline
- Specifies the integer index (0-based) of a character to
underline in the text string. The underlined character is used for
mnemonic activation if ttk::notebook::enableTraversal is
called.
TAB IDENTIFIERS¶
The
tabid argument to the following commands may take any of the
following forms:
- •
- An integer between zero and the number of tabs;
- •
- The name of a slave window;
- •
- A positional specification of the form “@
x,y”, which identifies the tab
- •
- The literal string “ current”, which
identifies the currently-selected tab; or:
- •
- 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 notebook but hidden, it is restored to its previous
position.
- pathname configure ?options?
- See ttk::widget(3tk).
- pathname cget option
- See ttk::widget(3tk).
- 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 displayed, but the associated window remains managed by the notebook
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 location. The following subcommands are supported:
- pathname identify element x
y
- Returns the name of the element at the specified
location.
- 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
subwindow. 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(3tk).
- 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(3tk).
- 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.
KEYBOARD TRAVERSAL¶
To enable keyboard traversal for a toplevel window containing a notebook widget
$nb, call:
ttk::notebook::enableTraversal $nb
This will extend the bindings for the toplevel window containing the notebook as
follows:
- •
- Control-Tab selects the tab following the currently
selected one.
- •
- Shift-Control-Tab selects the tab preceding the
currently selected one.
- •
- 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.
VIRTUAL EVENTS¶
The notebook widget generates a
<<NotebookTabChanged>>
virtual event after a new tab is selected.
EXAMPLE¶
pack [ ttk::notebook .nb]
ttk::notebook::enableTraversal .nb
SEE ALSO¶
ttk::widget(3tk), grid(3tk)
KEYWORDS¶
pane, tab