On 19.09.10 18:18:15, Algis Kabaila wrote: > On Sunday 19 September 2010 17:41:59 Von wrote: > > Hi,Algis, > > I have looked through this chapter "Events, the Clipboard, and Drag and > > Drop", and I couldn't find anything about signal/slot mechanism. > > > > Best Regards > > Ch 10 does not talk about Signals-Slots directly, but it tells the details > about the lower level events. It is the same and one mechanism as Signals- > Slots, it is just that it is looked at from a different perspective. I think > that usually the "signal" is caught by the "slot" and acted on it as > required. > OTH, if the signal is not caught by a "slot" it travels up the widget tree to > the very top level widget and if it is not caught there, it is simply dropped > (ignored).
No thats completely wrong. Signal/Slots are a direct connection between emitter and receiver, there's no propagation 'upwards'. In fact most of the time its a direct function call from the signal-function into the slot. It all works (at least on the pure-Qt level) through the meta-object-code generated by moc. That one generates the code for the signal-functions which use the Metaobject system to find all the slots connected to the signal and call the slots directly. There can be indirect calls through events when using the queued-connection (implicitly or explicitly), but even then the event thats used is not propagated through the widget tree. The object connecting the sender and receiver is often a composite having both as children and hence its responsibility is usually to delete both when they're not needed anymore. The Qt parent/child hierarchy helps with this, so its a no-brainer for most people. Thats all the Qt-level of signal/slots, I don't know how Phil implemented the new-style-signal/slots but they also don't propagate upwards in the widget-hierarchy. Andreas -- You look tired. _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt