- NAME
- ttk::style — Manipulate style database
- SYNOPSIS
- NOTES
- DEFINITIONS
- DESCRIPTION
- ttk::style configure style ?-option ?value option value...? ?
- ttk::style element args
- ttk::style element create elementName type ?args...?
- ttk::style element names
- ttk::style element options element
- ttk::style layout style ?layoutSpec?
- ttk::style lookup style -option ?state ?default??
- ttk::style map style ?-option { statespec value... }?
- ttk::style theme args
- ttk::style theme create themeName ?-parent basedon? ?-settings script... ?
- ttk::style theme names
- ttk::style theme settings themeName script
- ttk::style theme use ?themeName?
- LAYOUTS
- -children { sublayout... }
- -expand boolean
- -side side
- -sticky [nswe]
- SEE ALSO
- KEYWORDS
ttk::style — Manipulate style database
ttk::style option ?args?
See also the Tcl'2004 conference presentation,
available at https://tktable.sourceforge.net/tile/tile-tcl2004.pdf
Each widget is assigned a style,
which specifies the set of elements making up the widget
and how they are arranged, along with dynamic and default
settings for element options.
By default, the style name is the same as the widget's class;
this may be overridden by the -style option.
A theme is a collection of elements and styles
which controls the overall look and feel of an application.
The ttk::style command takes the following arguments:
- ttk::style configure style ?-option ?value option value...? ?
-
Sets the default value of the specified option(s) in style.
- ttk::style element args
-
- ttk::style element create elementName type ?args...?
-
Creates a new element in the current theme of type type.
The only cross-platform built-in element type is image
(see ttk_image(n)) but themes may define other element types
(see Ttk_RegisterElementFactory). On suitable versions of Windows
an element factory is registered to create Windows theme elements
(see ttk_vsapi(n)).
- ttk::style element names
-
Returns the list of elements defined in the current theme.
- ttk::style element options element
-
Returns the list of element's options.
- ttk::style layout style ?layoutSpec?
-
Define the widget layout for style style.
See LAYOUTS below for the format of layoutSpec.
If layoutSpec is omitted, return the layout specification
for style style.
- ttk::style lookup style -option ?state ?default??
-
Returns the value specified for -option in style style
in state state, using the standard lookup rules for element options.
state is a list of state names; if omitted,
it defaults to all bits off (the
“normal”
state).
If the default argument is present, it is used as a fallback
value in case no specification for -option is found.
- ttk::style map style ?-option { statespec value... }?
-
Sets dynamic values of the specified option(s) in style.
Each statespec / value pair is examined in order;
the value corresponding to the first matching statespec
is used.
- ttk::style theme args
-
- ttk::style theme create themeName ?-parent basedon? ?-settings script... ?
-
Creates a new theme. It is an error if themeName already exists.
If -parent is specified, the new theme will inherit
styles, elements, and layouts from the parent theme basedon.
If -settings is present, script is evaluated in the
context of the new theme as per ttk::style theme settings.
- ttk::style theme names
-
Returns a list of all known themes.
- ttk::style theme settings themeName script
-
Temporarily sets the current theme to themeName,
evaluate script, then restore the previous theme.
Typically script simply defines styles and elements,
though arbitrary Tcl code may appear.
- ttk::style theme use ?themeName?
-
Without an argument the result is the name of the current theme.
Otherwise this command sets the current theme to themeName,
and refreshes all widgets.
A layout specifies a list of elements, each followed
by one or more options specifying how to arrange the element.
The layout mechanism uses a simplified version of the pack
geometry manager: given an initial cavity,
each element is allocated a parcel.
Then the parcel actually used by the element is adjusted within
the allocated parcel.
Valid options are:
- -children { sublayout... }
-
Specifies a list of elements to place inside the element.
- -expand boolean
-
Specifies whether the allocated parcel is the entire cavity. If so,
simultaneous specification of -side is ignored.
Defaults to 0.
- -side side
-
Specifies which side of the cavity to place the element;
one of left, right, top, or bottom.
For instance, -side top allocates the parcel along the top of
the cavity having width and height respectively the width of the cavity
and the height of the element.
If omitted, the allocated parcel is the entire cavity (same effect
as -expand 1).
- -sticky [nswe]
-
Specifies the actual parcel position and size inside the allocated parcel.
If specified as an empty string then the actual parcel is centered in
the allocated parcel. Default is nswe.
For example:
ttk::style layout Horizontal.TScrollbar {
Scrollbar.trough -children {
Scrollbar.leftarrow -side left
Scrollbar.rightarrow -side right
Horizontal.Scrollbar.thumb -side left -sticky ew
}
}
ttk::intro, ttk::widget, photo, ttk_image
style, theme, appearance
Copyright © 2004 Joe English