Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Unknown macro: {alias}

Name

qdestroyed — catch widget destruction

Syntax

qdestroyed [widget] cmds

Description

The qdestroyed command allows one to catch the destruction of widgets. The programmer can assign Tcl commands to be executed immediately before the destruction of the widget. This is useful for cleanup actions. Unlike a closeevent (see qcloseevent) the destruction process can not be halted.

A widget can be deleted in several ways. A widget will always be deleted if it's parent is deleted. It will also be deleted when closing if the deleteonclose attribute is set. A widget can be deleted directly using the qdelete command.

Deleting a widget is not the same as closing it. Closing in itself just renders the widget invisible, while still retaining the widget in the computers memory for later redisplay. Deleting a widget removes the widget entirely from memory, requiring that the widget be re-created in order to be redisplayed. A widget is always closed before it is deleted.

Arguments

widget

cmds

Examples

Ex.1: Catching a destruct event

#
# Procedure to be called when the widget is destructing.
#

proc killed {} {
  puts "Object destroyed"
}

set w [qwidget]

# This is needed for the widget to be deleted when closing
qsetattribute $w deleteonclose

# Assign the 'killed' procedure as destruction-callback
qdestroyed $w killed

qshow $w

Example Catching a destruct event shows the procedure 'killed' assigned as a callback function to be called when the window 'w' is destructed.

  • No labels