diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-05-25 20:47:06 (GMT) |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-05-27 08:30:53 (GMT) |
commit | 0ea19cf01e2381969a8b8ce8cdaffe9ce873d3a9 (patch) | |
tree | 366d238fbd75b808de8aa7b701351f225a7e79dc /doc/src/signalsandslots.qdoc | |
parent | 5e14efa547ffac5890b008ad23e9ff0bc634a3e1 (diff) | |
download | Qt-0ea19cf01e2381969a8b8ce8cdaffe9ce873d3a9.zip Qt-0ea19cf01e2381969a8b8ce8cdaffe9ce873d3a9.tar.gz Qt-0ea19cf01e2381969a8b8ce8cdaffe9ce873d3a9.tar.bz2 |
Add a flag that ensure that a connection is made only one
It is often desirable, when doing connection, to ensure that the same
connection is only made once. This can be done with the
Qt::UniqueConnection 'flag'
Also documented the order the slot are called
Reviewed-by: Brad
Diffstat (limited to 'doc/src/signalsandslots.qdoc')
-rw-r--r-- | doc/src/signalsandslots.qdoc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/doc/src/signalsandslots.qdoc b/doc/src/signalsandslots.qdoc index 5432bd4..29c8215 100644 --- a/doc/src/signalsandslots.qdoc +++ b/doc/src/signalsandslots.qdoc @@ -178,9 +178,13 @@ looping in the case of cyclic connections (e.g., if \c{b.valueChanged()} were connected to \c{a.setValue()}). - A signal is emitted for every connection you make; if you - duplicate a connection, two signals will be emitted. You can - always break a connection using QObject::disconnect(). + By default, for every connection you make, a signal is emitted; + two signals are emitted for duplicate connections. You can break + all of these connections with a single disconnect() call. + If you pass the Qt::UniqueConnection \a type, the connection will only + be made if it is not a duplicate. If there is already a duplicate + (exact same signal to the exact same slot on the same objects), + the connection will fail and connect will return false This example illustrates that objects can work together without needing to know any information about each other. To enable this, the objects only @@ -218,8 +222,8 @@ will continue immediately, and the slots will be executed later. If several slots are connected to one signal, the slots will be - executed one after the other, in an arbitrary order, when the signal - is emitted. + executed one after the other, in the order they have been connected, + when the signal is emitted. Signals are automatically generated by the \l moc and must not be implemented in the \c .cpp file. They can never have return types |