There are a couple of other Tk commands that we ought to mention:
destroy
and update
.
The destroy
command is used to destroy a widget, i.e. remove it
from the Tk interpreter entirely and so from the display.
Any children that the widget may have are also destroy
-ed.
Anything connected to the destroyed widget, such as bindings,
are also cleaned up automatically.
For example, to create a window containing a button that is destroyed when the button is pressed:
button .b -text "Die!" -command { destroy . } pack .b
creates a button .b
displaying the text `Die!', which runs
the command destroy .
when it is pressed. Because the widget
.
is the main toplevel widget or window, running that command will
kill the entire application associated with that button.
The command update
is used to process any pending Tk events. An
event is not just such things as moving the mouse but also updating the
display for newly created and displayed widgets. This may be necessary
in that usually Tk draws widgets only when it is idle. Using the
update
command forces Tk to stop and handle any outstanding
events including updating the display to its actually current state,
i.e. flushing out the pending display of any widgets. (This is
analogous to the fflush
command in C that flushes writes on a
stream to disk. In Tk displaying of widgets is “buffered”;
calling the update
command flushes the buffer.)