[PyKDE] Auto-connecting Slots
Patrick K. O'Brien
pobrien at orbtech.com
Fri Jan 27 20:10:19 GMT 2006
Phil Thompson wrote:
> Tonight's PyQt4 snapshot implements Torsten's suggestion for using a decorator
> to control which signal/slot connections are made when pyuic4 auto-connects.
>
> The problem is best demonstrated by QSpinBox which emits valueChanged(QString)
> and valueChanged(int). Defining an auto-connect method
> on_spinbox_valueChanged means that the method is connected to both signals
> and so gets invoked twice. Until now the method had to look at the type of
> the argument and just return if it was the one it didn't want.
>
> 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.
Any chance we could get an easier syntax, such as:
@qtsig(int)
def on_spinbox_valueChanged(self, value):
--
Patrick K. O'Brien
Orbtech http://www.orbtech.com
Schevo http://www.schevo.org
Louie http://louie.berlios.de
More information about the PyQt
mailing list