I want to provide another example of how I have used variable-length arguments in PyQt, in hopes that perhaps someone can suggest a workaround or another approach:
I have a class SignalProxy which is a subclass of QObject. The purpose of SignalProxy is to catch rapidly repeated signals from one source, merge them together into a single signal, and re-emit that signal. I use this in many different places, but most commonly to catch valueChanged signals from a QSpinBox, so that rolling the mouse wheel over the spin box only generates a single signal at the end, rather than a rapid series of signals. (I have attached the code for this class for reference)
In PyQt (with old-style signals), this is trivial because when I emit a signal, I do not need to know the name or signature of arguments that will be passed through the signal until just before it is sent. Furthermore, I do not need to select a particular signature when connecting a custom signal to its slot; I simply connect it by name and _all_ signals with that name will be connected, regardless of their argument signature.
This does not seem to be possible with PySide since I can not have arbitrary signatures and I don't know any way to create new signals on the fly (at least, none that would work in this example).
Any ideas? I like the syntax of these new-style signals, but so far I've found them to be much more limited in their capabilties..
Luke