On Saturday 28 January 2006 11:29 am, Giovanni Bajo wrote: > Phil Thompson <[EMAIL PROTECTED]> wrote: > >>> The QtCore.signature() decorator takes a single argument which is, > >>> in effect, the C++ signature of the method which tells the > >>> auto-connect > >>> code which signal to connect. For example... > >>> > >>> @QtCore.signature("on_spinbox_valueChanged(int)") > >>> def on_spinbox_valueChanged(self, value): > >>> # value will only ever be an integer. > >> > >> Notice that naming it "signature" is a namespace violation from > >> those using "from QtCore import *". OTOH, you shouldn't impose this > >> code style of prefixing each and every name with the QtModule name: > >> I personally hate it, and I can't see why Python code should get 3 > >> times more verbose than the corresponding C++ code. Having 'Q' at > >> the beginning of the word is enough namespace for me and for every > >> C++ Qt project out there. Specifically, Qt itself does not expose > >> anything but symbols which begins with "Q" (or fullly-uppercase > >> macros and similar things). > >> > >> I'd really prefer to have it named something like "qtsignature". > > > > A decorator is just a function and needs to reside in a namespace. > > While I could put the signature() function in the global namespace, > > that would be dumb. > > You can put it within the QtCore namespace, but please consider that many > people *will* use "from QtCore import *", as it's the default way to make > the code similar to the C++ counterpart. If Trolltech added a "signature()" > function, people would complain. Trolltech doesn't use standard C++ > namespaces, but they have their own namespace: they prefix every class name > with uppercase Q, and every function name with lowercase q. This is why I > think PyQt is going the wrong way if it starts suggesting to explicitally > use QtCore before everything and/or makes it harder for people to use the > "from QtCore import *" form. > > So, if you're going to add a PyQt-specific name, please make it follow the > Trolltech's convention. QtCore.qSignature would surely be better (there are > pre cedence of global functions named qFooBar in Qt's API).
Trolltech are much more likely to add a function called qSignature() than one called signature(). Isn't calling it pyqtSignature() the safest and most consistent? Phil _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde