On Tue, 07 Sep 2010 18:17:52 +0300 Matti Airas <[email protected]> wrote: > Hi list, > > We've made a promise to submit any API design decisions to public > scrutiny on the mailing list, but sometimes we fail. (Big part of the > blame falls on me since I accepted the internal scrum story without > realizing that it was all about creating a new public API.) > > So, here comes a "posthumous" feature proposal. > > Qt allows for Qt properties to be defined on compile and run-time and > then accessed using standard setters and getters [1]. PyQt implements > this by defining QtCore.pyqtProperty method which accepts Python > functions as getters and setters in pretty much a similar fashion as > Qt's Q_PROPERTY macro [2]. > > Since there is really nothing wrong with the PyQt syntax except the > unfortunate name, the proposal is to deal with this in an identical > manner to signals and slots (as defined in PSEP 100 [3]). Hence, > PySide would have a QtCore.Property function which would behave > identically to PyQt's QtCore.pyqtProperty for all purposes and > intents. > > The current implementation, already present in PySide 0.4.0, already > has everything in place, except that the function is named > QtCore.QProperty. See the unit tests for an example how it works at > the moment [4]. > > I prefer naming the function QtCore.Property for two reasons: > > 1) In that way, our renaming scheme would be consistent > (pyqtSignal->Signal, pyqtSlot->Slot, pyqtProperty->Property). > > 2) If the name was QProperty, one would be led to assume it's just a > Qt class among others, while in practice both the implementation and > functionality are something completely different. > > > I'd like to hear your comments on this. If this is a scheme everyone > accepts, I'll make a PSEP out of it, we'll fix the implementation, > and document it properly.
Makes sense to me. +1 > [1] http://doc.trolltech.com/4.6/properties.html > [2] > http://www.riverbankcomputing.com/static/Docs/PyQt4/pyqt4ref.html#writing-qt-designer-plugins > [3] http://www.pyside.org/docs/pseps/psep-0100.html > [4] > http://qt.gitorious.org/pyside/pyside/blobs/master/tests/QtCore/qobject_property_test.py > > Cheers, > > ma. > _______________________________________________ > PySide mailing list > [email protected] > http://lists.openbossa.org/listinfo/pyside -- Mark Summerfield, Qtrac Ltd, www.qtrac.eu C++, Python, Qt, PyQt - training and consultancy "Advanced Qt Programming" - ISBN 0321635906 http://www.qtrac.eu/aqpbook.html _______________________________________________ PySide mailing list [email protected] http://lists.openbossa.org/listinfo/pyside
