logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ttk::style - Manipulate style database

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.  The “.”  style is the theme root style on which derived styles are based.

Description

       The ttk::style command takes the following arguments:

       ttk::styleconfigurestyle ?-option ?valueoptionvalue...? ?
              Sets the default value of the specified option(s) in style.   If  style  does  not  exist,  it  is
              created.   If  only  style  and -option are specified, get the default value for option -option of
              style style.  If only style is specified, get the default value for all options of style style.

       ttk::styleelementargsttk::styleelementcreateelementNametype ?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::styleelementnames
                     Returns the list of elements defined in the current theme.

              ttk::styleelementoptionselement
                     Returns the list of element's options.

       ttk::stylelayoutstyle ?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::stylelookupstyle-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.  If style does not exist, it is created.

       ttk::stylemapstyle ?-option{statespecvalue...}?
              Sets dynamic (state dependent) 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.  If
              style does not exist, it is created.  If only style and -option are  specified,  get  the  dynamic
              values  for option -option of style style.  If only style is specified, get the dynamic values for
              all options of style style.

       ttk::stylethemeargsttk::stylethemecreatethemeName ?-parentbasedon? ?-settingsscript... ?
                     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::stylethemesettings.

              ttk::stylethemenames
                     Returns a list of all known themes.

              ttk::stylethemesettingsthemeNamescript
                     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::stylethemestyles ?themeName?
                     Returns  a  list  of all styles in themeName. If themeName is omitted, the current theme is
                     used.

              ttk::stylethemeuse ?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.

Keywords

       style, theme, appearance

Tk                                                     8.5                                       ttk::style(3tk)

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

       -expandboolean
              Specifies  whether the allocated parcel is the entire cavity. If so, simultaneous specification of
              -side is ignored.  Defaults to 0.

       -sideside
              Specifies which side of the cavity to place the element; one of left, right, top, or bottom.   For
              instance,  -sidetop  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
                  }
              }

Name

       ttk::style - Manipulate style database

Notes

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

Root Style

       The “.”  theme root style can be configured like any other style,  providing  defaults  for  its  derived
       styles. In addition to the usual options, “.”  styling options configurable with ttk::style are:

       -insertofftimeamount
              Specifies  a non-negative integer value indicating the number of milliseconds the insertion cursor
              should remain “off” in each blink cycle. If this option is zero then the cursor does not blink: it
              is on all the time. Defaults to 300 ms, unless  overriden  with  a  RESOURCE_MANAGER  property  or
              .Xdefaults file.

       -insertontimeamount
              Specifies  a non-negative integer value indicating the number of milliseconds the insertion cursor
              should  remain  “on”  in  each  blink  cycle.  Defaults  to  600  ms,  unless  overriden  with   a
              RESOURCE_MANAGER property or .Xdefaults file.

See Also

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

Synopsis

ttk::styleoption ?args?
________________________________________________________________________________________________________________

See Also