Chapter 3. Moving On

Table of Contents
3.1. More on Signal Handlers
3.2. An Upgraded Hello World

3.1. More on Signal Handlers

Lets take another look at the connect() call .
 
object.connect(name, func, func_data)
The return value from a connect() call is an integer tag that identifies your callback. As stated above, you may have as many callbacks per signal and per object as you need, and each will be executed in turn, in the order they were attached.

This tag allows you to remove this callback from the list by using:
 
object.disconnect(id)

So, by passing in the widget you wish to remove the handler from, and the tag returned by one of the signal connect methods, you can disconnect a signal handler.

You can also temporarily disable signal handlers with the signal_handler_block() and signal_handler_unblock() pair of methods.
 
object.signal_handler_block(handler_id)

object.signal_handler_unblock(handler_id)