ttk::style(n)                  Tk Themed Widget                  ttk::style(n)



______________________________________________________________________________

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(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 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(n), ttk::widget(n), photo(n), ttk_image(n)

KEYWORDS
       style, theme, appearance



Tk                                    8.5                        ttk::style(n)
