- NAME
- ttk::widget — Standard options and commands supported by Tk
themed widgets
- DESCRIPTION
- STANDARD
OPTIONS
- -class,
undefined, undefined
- -cursor,
cursor, Cursor
- -takefocus, takeFocus, TakeFocus
- -style,
style, Style
- SCROLLABLE
WIDGET OPTIONS
- -xscrollcommand, xScrollCommand, ScrollCommand
- -yscrollcommand, yScrollCommand, ScrollCommand
- LABEL
OPTIONS
- -compound, compound, Compound
- text
- image
- center
- top
- bottom
- left
- right
- none
- -font,
font, Font
- -foreground, textColor, TextColor
- -image,
image, Image
- -padding, padding, Padding
- -text,
text, Text
- -textvariable, textVariable, Variable
- -underline, underline, Underline
- -width,
width, Width
- COMPATIBILITY
OPTIONS
- -state,
state, State
- COMMANDS
- pathName cget option
- pathName configure ?option? ?value
option value ...?
- pathName identify element x y
- pathName instate statespec
?script?
- pathName state ?stateSpec?
- pathName xview args
- pathName xview
- pathName xview index
- pathName xview moveto fraction
- pathName xview scroll number
what
- pathName yview args
- pathName yview
- pathName yview index
- pathName yview moveto fraction
- pathName yview scroll number
what
- WIDGET
STATES
- active
- disabled
- focus
- pressed
- selected
- background
- readonly
- alternate
- invalid
- hover
- EXAMPLES
- SEE
ALSO
- KEYWORDS
ttk::widget — Standard options and commands supported by Tk themed
widgets
This manual describes common widget options and commands.
The following options are supported by all Tk themed widgets:
- Command-Line Name: -class
- Database Name: undefined
- Database Class: undefined
- Specifies the window class. The class is used when querying the
option database for the window's other options, to determine the
default bindtags for the window, and to select the widget's default
layout and style. This is a read-only option: it may only be
specified when the window is created, and may not be changed with
the configure widget command.
- Command-Line Name: -cursor
- Database Name: cursor
- Database Class: Cursor
- Specifies the mouse cursor to be used for the widget. See
Tk_GetCursor and
cursors(n) in the Tk reference manual for the legal values.
If set to the empty string (the default), the cursor is inherited
from the parent widget.
- Command-Line Name: -takefocus
- Database Name: takeFocus
- Database Class: TakeFocus
- Determines whether the window accepts the focus during keyboard
traversal. Either 0, 1, a command prefix (to which
the widget path is appended, and which should return 0 or
1), or the empty string. See options(n) in the Tk
reference manual for the full description.
- Command-Line Name: -style
- Database Name: style
- Database Class: Style
- May be used to specify a custom widget style.
The following options are supported by widgets that are
controllable by a scrollbar. See scrollbar(n) for more
information
- Command-Line Name: -xscrollcommand
- Database Name: xScrollCommand
- Database Class: ScrollCommand
- A command prefix, used to communicate with horizontal
scrollbars. When the view in the widget's window changes, the
widget will generate a Tcl command by concatenating the scroll
command and two numbers. Each of the numbers is a fraction between
0 and 1 indicating a position in the document; 0 indicates the
beginning, and 1 indicates the end. The first fraction indicates
the first information in the widget that is visible in the window,
and the second fraction indicates the information just after the
last portion that is visible.
Typically the -xscrollcommand option consists of the path
name of a scrollbar
widget followed by “set”, e.g. “.x.scrollbar set”. This will cause
the scrollbar to be updated whenever the view in the window
changes.
If this option is set to the empty string (the default), then no
command will be executed.
- Command-Line Name: -yscrollcommand
- Database Name: yScrollCommand
- Database Class: ScrollCommand
- A command prefix, used to communicate with vertical scrollbars.
See the description of -xscrollcommand above for
details.
The following options are supported by labels, buttons, and other
button-like widgets:
- 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. If set to the
empty string (the default), the rules described in the "Elements"
section of ttk::intro(n) explain which value is actually
used. Valid values are:
- text
- Display text only.
- image
- Display image only.
- center
- Display text centered on top of image.
- top
- bottom
- left
- right
- Display image above, below, left of, or right of the text,
respectively.
- none
- Display the image if present, otherwise the text.
- Command-Line Name: -font
- Database Name: font
- Database Class: Font
- Font to use for the text displayed by the widget.
- Command-Line Name: -foreground
- Database Name: textColor
- Database Class: TextColor
- The widget's foreground color. If unspecified, the theme
default is used.
- Command-Line Name: -image
- Database Name: image
- Database Class: Image
- Specifies an image to display. This is a list of 1 or more
elements. The first element is the default image name. The rest of
the list is a sequence of statespec / value pairs as per
style map, specifying
different images to use when the widget is in a particular state or
combination of states. All images in the list should have the same
size.
- Command-Line Name: -padding
- Database Name: padding
- Database Class: Padding
- Specifies the internal padding for the widget. 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. In other
words, a list of three numbers 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 widget.
- Command-Line Name: -text
- Database Name: text
- Database Class: Text
- Specifies a text string to be displayed inside the widget
(unless overridden by -textvariable).
- Command-Line Name: -textvariable
- Database Name: textVariable
- Database Class: Variable
- Specifies the name of a global variable whose value will be
used in place of the -text resource.
- Command-Line Name: -underline
- Database Name: underline
- Database Class: Underline
- If set, specifies the integer index (0-based) of a character to
underline in the text string. The underlined character is used for
mnemonic activation.
- Command-Line Name: -width
- Database Name: width
- Database Class: Width
- If greater than zero, specifies how much space, in character
widths, to allocate for the text label. If less than zero,
specifies a minimum width. If zero or unspecified, the natural
width of the text label is used.
This option is only available for themed widgets that have
“corresponding” traditional Tk widgets.
- Command-Line Name: -state
- Database Name: state
- Database Class: State
- May be set to normal or disabled to control the
disabled state bit. This is a write-only option: setting it
changes the widget state, but the state widget command does
not affect the -state option.
- pathName cget
option
- Returns the current value of the configuration option given by
option.
- pathName configure
?option? ?value option value ...?
- Query or modify the configuration options of the widget. If one
or more option-value pairs are specified, then the command
modifies the given widget option(s) to have the given value(s); in
this case the command returns an empty string. If option is
specified with no value, then the command returns a list
describing the named option: the elements of the list are the
option name, database name, database class, default value, and
current value. If no option is specified, returns a list
describing all of the available options for pathName.
- pathName identify element
x y
- Returns the name of the element under the point given by
x and y, or an empty string if the point does not lie
within any element. x and y are pixel coordinates
relative to the widget. Some widgets accept other identify
subcommands.
- pathName instate
statespec ?script?
- Test the widget's state. If script is not specified,
returns 1 if the widget state matches statespec and 0
otherwise. If script is specified, equivalent to
if {[pathName instate stateSpec]} script
- pathName state
?stateSpec?
- Modify or inquire widget state. If stateSpec is present,
sets the widget state: for each flag in stateSpec, sets the
corresponding flag or clears it if prefixed by an exclamation
point.
- Returns a new state spec indicating which flags were changed:
set changes [pathName state spec]
pathName state $changes
will restore pathName to the original state. If
stateSpec is not specified, returns a list of the
currently-enabled state flags.
- pathName xview
args
- This command is used to query and change the horizontal
position of the content in the widget's window. It can take any of
the following forms:
- pathName xview
- Returns a list containing two elements. Each element is a real
fraction between 0 and 1; together they describe the horizontal
span that is visible in the window. For example, if the first
element is .2 and the second element is .6, 20% of the widget's
content is off-screen to the left, the middle 40% is visible in the
window, and 40% of the content is off-screen to the right. These
are the same values passed to scrollbars via the
-xscrollcommand option.
- pathName xview
index
- Adjusts the view in the window so that the content given by
index is displayed at the left edge of the window.
- pathName xview moveto
fraction
- Adjusts the view in the window so that the character
fraction of the way through the content appears at the left
edge of the window. Fraction must be a fraction between 0
and 1.
- pathName xview scroll
number what
- This command shifts the view in the window left or right
according to number and what. Number must be
an integer. What must be either units or
pages. If what is units, the view adjusts left
or right by number average-width characters on the display;
if it is pages then the view adjusts by number
screenfuls. If number is negative then characters farther to
the left become visible; if it is positive then characters farther
to the right become visible.
- pathName yview
args
- This command is used to query and change the vertical position
of the content in the widget's window. It can take any of the
following forms:
- pathName yview
- Returns a list containing two elements. Each element is a real
fraction between 0 and 1; together they describe the vertical span
that is visible in the window. For example, if the first element is
.2 and the second element is .6, 20% of the widget's content is
off-screen to the top, the middle 40% is visible in the window, and
40% of the content is off-screen to the bottom. These are the same
values passed to scrollbars via the -yscrollcommand
option.
- pathName yview
index
- Adjusts the view in the window so that the content given by
index is displayed at the top edge of the window.
- pathName yview moveto
fraction
- Adjusts the view in the window so that the item fraction
of the way through the content appears at the top edge of the
window. Fraction must be a fraction between 0 and 1.
- pathName yview scroll
number what
- This command shifts the view in the window up or down according
to number and what. Number must be an integer.
What must be either units or pages. If
what is units, the view adjusts up or down by
number average-width characters on the display; if it is
pages then the view adjusts by number screenfuls. If
number is negative then items farther to the top become
visible; if it is positive then items farther to the bottom become
visible.
The widget state is a bitmap of independent state flags. Widget
state flags include:
- active
- The mouse cursor is over the widget and pressing a mouse button
will cause some action to occur. (aka “prelight” (Gnome), “hot”
(Windows), “hover”).
- disabled
- Widget is disabled under program control (aka “unavailable”,
“inactive”).
- focus
- Widget has keyboard focus.
- pressed
- Widget is being pressed (aka “armed” in Motif).
- selected
- “On”, “true”, or “current” for things like checkbuttons and
radiobuttons.
- background
- Windows and the Mac have a notion of an “active” or foreground
window. The background state is set for widgets in a
background window, and cleared for those in the foreground
window.
- readonly
- Widget should not allow user modification.
- alternate
- A widget-specific alternate display format. For example, used
for checkbuttons and radiobuttons in the “tristate” or “mixed”
state, and for buttons with -default active.
- invalid
- The widget's value is invalid. (Potential uses: scale widget
value out of bounds, entry widget value failed validation.)
- hover
- The mouse cursor is within the widget. This is similar to the
active state; it is used in some themes for widgets that
provide distinct visual feedback for the active widget in addition
to the active element within the widget.
A state specification or stateSpec is a list of
state names, optionally prefixed with an exclamation point (!)
indicating that the bit is off.
set b [ttk::button .b]
# Disable the widget:
$b state disabled
# Invoke the widget only if it is currently pressed and enabled:
$b instate {pressed !disabled} { .b invoke }
# Reenable widget:
$b state !disabled
ttk::intro, ttk::style
state, configure, option
Copyright © 2004 Joe English