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

Reply via email to