Provided by: tk8.5-doc_8.5.19-1ubuntu1_all bug

NAME

       ttk::style - Manipulate style database

SYNOPSIS

       ttk::style option ?args?
________________________________________________________________________________________________________________

NOTES

       See  also  the  Tcl'2004  conference presentation, available at http://tktable.sourceforge.net/tile/tile-
       tcl2004.pdf

DEFINITIONS

       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.

DESCRIPTION

       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 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 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 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 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(3tk))   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(3tk)).

       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 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 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 names
              Returns a list of all known themes.

       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.

LAYOUTS

       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.  Valid options are:

       -side side
              Specifies  which  side of the cavity to place the element; one of left, right, top, or bottom.  If
              omitted, the element occupies the entire cavity.

       -sticky [nswe]
              Specifies where the element is placed inside its allocated parcel.

       -children { sublayout... }
              Specifies a list of elements to place inside the element.

       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
                  }
              }

SEE ALSO

       ttk::intro(3tk), ttk::widget(3tk), photo(3tk), ttk_image(3tk)

KEYWORDS

       style, theme, appearance

Tk                                                     8.5                                       ttk::style(3tk)