Property#

class Property(getter=None, setter=None, type=None, default=None, nick='', blurb='', flags=3, minimum=None, maximum=None)#

Creates a new Property which when used in conjunction with GObject subclass will create a Python property accessor for the GObject ParamSpec.

param callable getter:

getter to get the value of the property

param callable setter:

setter to set the value of the property

param type type:

type of property

param default:

default value, must match the property type.

param str nick:

short description

param str blurb:

long description

param GObject.ParamFlags flags:

parameter flags

keyword minimum:

minimum allowed value (int, float, long only)

keyword maximum:

maximum allowed value (int, float, long only)

class MyObject(GObject.Object):
    prop = GObject.Property(type=str)

obj = MyObject()
obj.prop = 'value'

obj.prop  # now is 'value'

The API is similar to the builtin property():

class AnotherObject(GObject.Object):
    value = 0

    @GObject.Property
    def prop(self):
        'Read only property.'
        return 1

    @GObject.Property(type=int)
    def propInt(self):
        'Read-write integer property.'
        return self.value

    @propInt.setter
    def propInt(self, value):
        self.value = value

Methods#

class Property
get_pspec_args()#
getter(fget)#

Set the getter function to fget. For use as a decorator.

Parameters:

fget

setter(fset)#

Set the setter function to fset. For use as a decorator.

Parameters:

fset