[PyQt] pyqtproperty with a user type

Phil Thompson phil at riverbankcomputing.com
Wed May 20 11:25:16 BST 2009


On Wed, 20 May 2009 11:35:04 +0200, cabieces julien <jcabieces at free.fr>
wrote:
> Hi,
> 
> I would like to use pyqtProperty with a python class that I have defined.
> example
> 
> class Vec2(QObject):
>   pass
> 
> ....
> 
> class Toto(QObject)
> 
>   def getPos(self):
>     return self.__x
> 
>   def setPos(self, x)
>     self.__x = x
> 
>   pyqtProperty('Vec2', fget=getPos, fset=setPos)
> 
> 
> and i get the following error message :
> type 'Vec2' is not supported as a property type
> 
> I think I have to register a QMetaType but it seems impossible in PyQt.
> 
> Have you an idea on how I could achieve this.

You only need to use pyqtProperty() to define a new Qt property. As Qt
doesn't know anything about Python classes then pyqtProperty() wouldn't
help.

Just use the standard Python property().

Phil


More information about the PyQt mailing list