button(3)
NAME
Tk::Button - Create and manipulate Button widgets
SYNOPSIS
$button = $parent->Button(?options?);
STANDARD OPTIONS
-activebackground -cursor -highlightthickness -takefo
cus -activeforeground -disabledfore
ground -image -text -anchor -font -jus
tify -textvariable -background -fore
ground -padx -underline -bitmap -highlightback
ground -pady -wraplength -borderwidth -high
lightcolor -relief
See Tk::options for details of the standard options.
WIDGET-SPECIFIC OPTIONS
- Name: command
Class: Command
Switch: -command - Specifies a perl/Tk callback to associate with the
button. This command is typically invoked when mouse
button 1 is released over the button window. - Name: default
Class: Default
Switch: -default - Specifies one of three states for the default ring:
normal, active, or disabled. In active state, the button is drawn with the platform specific appearance
for a default button. In normal state, the button is
drawn with the platform specific appearance for a nondefault 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 nondefault button appearance without leaving space for
the default appearance. The disabled state may result
in a smaller button than the active state. ring. - Name: height
Class: Height
Switch: -height - Specifies a desired height 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 text it is in lines of text. If this option isn't specified, the button's
desired height is computed from the size of the image
or bitmap or text being displayed in it. - Name: state
Class: State
Switch: -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 typically used when the pointer is
over the button. In active state the button is dis
played using the activeForeground and activeBackground 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 dis played. - Name: width
Class: Width
Switch: -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 text it is in charac ters. If this option isn't 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 method creates a new window (given by the $wid
get argument) and makes it into a button widget. Addi
tional 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 $widget
argument. At the time this command is invoked, there must
not exist a window named $widget, but $widget'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 occupy multiple lines on the
screen (if it contains newlines or if wrapping 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 differ
ent 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
perl/Tk callback specified in the -command option is
invoked.
WIDGET METHODS
The Button method creates a widget object. This object
supports the configure and cget methods described in
Tk::options which can be used to enquire and modify the
options described above. The widget also inherits all the
methods provided by the generic Tk::Widget class.
The following additional methods are available for button
widgets:
- $button->flash
- Flash the button. This is accomplished by redisplay
ing the button several times, alternating between
active and normal colors. At the end of the flash the
button is left in the same normal/active state as when
the command was invoked. This command is ignored if
the button's state is disabled. - $button->invoke
- Invoke the callback associated with the buttons -com
mand option, if there is one. The return value is the
return value from the callback, or the undefined value
if there is no callback associated with the button.
This command is ignored if the button's state is
disabled.
DEFAULT BINDINGS
Tk automatically creates class bindings for buttons that
give them default behavior:
- [1] A button activates whenever the mouse passes over it
- and deactivates 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. How
ever, if the mouse is not over the button when button
1 is released, then no invocation occurs. - [4] When a button has the input focus, the space key
- causes the button 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 individual widgets or by redefining the
class bindings.
KEYWORDS
- button, widget