[PyKDE] Notifying self on all emits _OR_ overriding default emit behavior
Sundance
sundance at ierne.eu.org
Thu Oct 2 21:34:00 BST 2003
I heard Myddrin said:
> No, I mispoke. Slots should be signals above.
Oh! I see. :)
> I would need to take a generic (or ones that inherit from say
> MydWidget) object X and discover it's signals so I can subscribe to
> them and then call the "webbrowser scripts"....
Well, I'm not really sure I grasp your problem there... Signals and
slots are pretty much a compile-time information, as per Qt's design,
and I'll venture to say that if you need to discover them at run-time
there might be a design issue in your program maybe...?
For instance, if you don't know before run-time what signals are likely
to get emitted, and thus don't know their semantics, what exactly will
you be doing with them? Connect them to slots that may end up being
incompatible...? Darn, I really feel that I must be missing something
here. Argh.
If they are hand-made Python signals, maybe the most effective approach
would be to register them at class level... I mean, what if MyWidget
had something like a signalRegistry attribute that would contain the
name of the PYSIGNALs that particular instance will want to emit? Or
better yet, have a single signal that would emit its type as an
argument, such as, say, webEvent("linkClicked", url), where
"linkClicked" would be the type of the webEvent signal...
Or something like that. I'm really having a hard time seeing the big
picture about your approach, so I could be missing something.
Good luck with the house hunting!
-- S.
More information about the PyQt
mailing list