dwww Home | Manual pages | Find package

button(3tk)                  Tk Built-In Commands                  button(3tk)

______________________________________________________________________________

NAME
       button - Create and manipulate 'button' action widgets

SYNOPSIS
       button pathName ?options?

STANDARD OPTIONS
       -activebackground     -font                -relief
       -activeforeground     -foreground          -repeatdelay
       -anchor               -highlightbackground -repeatinterval
       -background           -highlightcolor      -takefocus
       -bitmap               -highlightthickness  -text
       -borderwidth          -image               -textvariable
       -compound             -justify             -underline
       -cursor               -padx                -wraplength
       -disabledforeground   -pady

       See the options manual entry for details on the standard options.

WIDGET-SPECIFIC OPTIONS
       Command-Line Name:-command
       Database Name:  command
       Database Class: Command

              Specifies a Tcl command to associate with the button.  This com-
              mand is typically invoked when mouse button 1 is  released  over
              the button window.

       Command-Line Name:-default
       Database Name:  default
       Database Class: Default

              Specifies  one of three states for the default ring: normal, ac-
              tive, or disabled.  In active state, the button  is  drawn  with
              the  platform specific appearance for a default button.  In nor-
              mal state, the button is drawn with the  platform  specific  ap-
              pearance  for a non-default button, leaving enough space to draw
              the default button appearance.  The  normal  and  active  states
              will result in buttons of the same size.  In disabled state, the
              button is drawn with the non-default button  appearance  without
              leaving  space  for  the default appearance.  The disabled state
              may result in a smaller button than the active state.

       Command-Line Name:-height
       Database Name:  height
       Database Class: Height

              Specifies a desired height for the button.  If an image or  bit-
              map is being displayed in the button then the value is in screen
              units (i.e. any of the forms acceptable  to  Tk_GetPixels);  for
              text  it  is in lines of text.  If this option is not specified,
              the button's desired height is computed from the size of the im-
              age or bitmap or text being displayed in it.

       Command-Line Name:-overrelief
       Database Name:  overRelief
       Database Class: OverRelief

              Specifies  an alternative relief for the button, to be used when
              the mouse cursor is over the widget.  This option can be used to
              make  toolbar  buttons,  by configuring -relief flat -overrelief
              raised.  If the value of this option is the empty  string,  then
              no  alternative relief is used when the mouse cursor is over the
              button.  The empty string is the default value.

       Command-Line Name:-state
       Database Name:  state
       Database Class: State

              Specifies one of three states for the button:   normal,  active,
              or  disabled.  In normal state the button is displayed using the
              -foreground and -background options.  The active state is  typi-
              cally used when the pointer is over the button.  In active state
              the button is displayed using the -activeforeground and -active-
              background options.  Disabled state means that the button should
              be insensitive:  the default bindings will  refuse  to  activate
              the  widget and will ignore mouse button presses.  In this state
              the -disabledforeground and -background  options  determine  how
              the button is displayed.

       Command-Line Name:-width
       Database Name:  width
       Database Class: Width

              Specifies a desired width for the button.  If an image or bitmap
              is being displayed in the button then the  value  is  in  screen
              units (i.e. any of the forms acceptable to Tk_GetPixels).  For a
              text button (no image or with -compound  none)  then  the  width
              specifies  how much space in characters to allocate for the text
              label.  If the width is negative then this specifies  a  minimum
              width.   If  this  option is not specified, the button's desired
              width is computed from the size of the image or bitmap  or  text
              being displayed in it.
______________________________________________________________________________

DESCRIPTION
       The  button  command  creates a new window (given by the pathName argu-
       ment) and makes it into a button widget.  Additional options, described
       above,  may  be specified on the command line or in the option database
       to configure aspects of the button such as its colors, font, text,  and
       initial  relief.  The button command returns its pathName argument.  At
       the time this command is invoked, there must not exist a  window  named
       pathName, but pathName's parent must exist.

       A  button  is a widget that displays a textual string, bitmap or image.
       If text is displayed, it must all be in a single font, but it  can  oc-
       cupy  multiple lines on the screen (if it contains newlines or if wrap-
       ping occurs because of the -wraplength option) and one of  the  charac-
       ters  may optionally be underlined using the -underline option.  It can
       display itself in either of three  different  ways,  according  to  the
       -state option; it can be made to appear raised, sunken, or flat; and it
       can be made to flash.  When a user  invokes  the  button  (by  pressing
       mouse  button  1 with the cursor over the button), then the Tcl command
       specified in the -command option is invoked.

WIDGET COMMAND
       The button command creates a new Tcl command whose  name  is  pathName.
       This  command  may  be used to invoke various operations on the widget.
       It has the following general form:
              pathName option ?arg arg ...?
       Option and the args determine the exact behavior of the  command.   The
       following commands are possible for button widgets:

       pathName cget option
              Returns  the  current value of the configuration option given by
              option.  Option may have any of the values accepted by the  but-
              ton command.

       pathName configure ?option? ?value option value ...?
              Query  or modify the configuration options of the widget.  If no
              option is specified, returns a list describing all of the avail-
              able  options for pathName (see Tk_ConfigureInfo for information
              on the format of this list).  If option  is  specified  with  no
              value,  then the command returns a list describing the one named
              option (this list will be identical to the corresponding sublist
              of  the  value  returned  if no option is specified).  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.  Option may  have  any
              of the values accepted by the button command.

       pathName flash
              Flash the button.  This is accomplished by redisplaying the but-
              ton several times, alternating between  the  configured  active-
              background  and  background colors.  At the end of the flash the
              button is left in the same normal/active state as when the  com-
              mand was invoked.  This command is ignored if the button's state
              is disabled.

       pathName invoke
              Invoke the Tcl command associated with the button, if  there  is
              one.  The return value is the return value from the Tcl command,
              or an empty string if there is no command  associated  with  the
              button.   This  command is ignored if the button's state is dis-
              abled.

DEFAULT BINDINGS
       Tk automatically creates class bindings for buttons that give them  de-
       fault behavior:

       [1]    A button activates whenever the mouse passes over it and deacti-
              vates whenever the mouse leaves the button.  Under Windows, this
              binding is only active when mouse button 1 has been pressed over
              the button.

       [2]    A button's relief is changed to sunken whenever mouse  button  1
              is  pressed  over  the button, and the relief is restored to its
              original value when button 1 is later released.

       [3]    If mouse button 1 is pressed over a button  and  later  released
              over  the  button, the button is invoked.  However, if the mouse
              is not over the button when button 1 is released, then no  invo-
              cation occurs.

       [4]    When a button has the input focus, the space key causes the but-
              ton to be invoked.

       If the button's state is disabled then none of the above actions occur:
       the button is completely non-responsive.

       The behavior of buttons can be changed by defining new bindings for in-
       dividual widgets or by redefining the class bindings.

PLATFORM NOTES
       On Aqua/Mac OS X, some configuration options are ignored for  the  pur-
       pose  of  drawing  of  the widget because they would otherwise conflict
       with platform guidelines. The configure and cget subcommands can  still
       manipulate  the  values,  but do not cause any variation to the look of
       the widget. The options affected notably include -background  and  -re-
       lief.

EXAMPLES
       This is the classic Tk “Hello, World!”  demonstration:

              button .b -text "Hello, World!" -command exit
              pack .b

       This example demonstrates how to handle button accelerators:

              button .b1 -text Hello -underline 0
              button .b2 -text World -underline 0
              bind . <Key-h> {.b1 flash; .b1 invoke}
              bind . <Key-w> {.b2 flash; .b2 invoke}
              pack .b1 .b2

SEE ALSO
       ttk::button(3tk)

KEYWORDS
       button, widget

Tk                                    4.4                          button(3tk)

Generated by dwww version 1.14 on Thu Jan 23 00:08:21 CET 2025.