Provided by: tk8.6-doc_8.6.8-4_all bug

NAME

       ttk::widget - Standard options and commands supported by Tk themed widgets
________________________________________________________________________________________________________________

DESCRIPTION

       This manual describes common widget options and commands.

STANDARD OPTIONS

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

SCROLLABLE WIDGET OPTIONS

       The following options are supported by widgets that are controllable by a scrollbar.  See  scrollbar(3tk)
       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.

LABEL OPTIONS

       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.  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   The default; display the image if present, otherwise the text.

       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.

COMPATIBILITY OPTIONS

       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.

COMMANDS

       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.

WIDGET STATES

       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.

EXAMPLES

              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

SEE ALSO

       ttk::intro(3tk), ttk::style(3tk)

KEYWORDS

       state, configure, option