< Development‎ | Tutorials
Revision as of 22:03, 9 January 2007 by Tampakrap (talk | contribs) (start on python signal and slots tutorial)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Development/Tutorials/Python introduction to signals and slots

This tutorial is work in progress.


The signal and slot architecture is design to simplify communication between objects. It's a fact that GUI programming is mostly event driven. The traditionally approach to event driven programming is to use callbaks. Callbacks have a number of limitations that Qt tries to solve with it's signal and slot architecture. The concept is that every object can emit signals. For example when a button is clicked it emits a “clicked()” signal. Signals does not do anything alone, but when connected to a slot the code in the slot will be executed every time the signal is emitted. In python every function is a slot. It's possible to connect one signal to multiple slots

Connecting signals and slots.

This example demonstrates how to use the connect method to connect signals and slots.

from PyQt4.QtGui import * from PyQt4.QtCore import * import sys

if __name__=="__main__":

   #First we create a QApplication and QPushButton
   #Her we connect the exitButton's "clicked()" signals to the app's exit method. 
   #This will have the effect that every time someone clicks the exitButton the app.exit method will execute and the application will close.
   #Start the evnt loop

Signals and slots with parameters

Content is available under Creative Commons License SA 4.0 unless otherwise noted.