properties.py

来自「使用Pygtk写的几个例子」· Python 代码 · 共 44 行

PY
44
字号
import gobjectclass MyObject(gobject.GObject):    __gproperties__ = {        'foo': (gobject.TYPE_STRING, 'foo property', 'the foo of the object',                'bar', gobject.PARAM_READWRITE),        'boolprop': (gobject.TYPE_BOOLEAN, 'bool prop', 'a test boolean prop',                     0, gobject.PARAM_READABLE),    }    def __init__(self):        self.__gobject_init__()        self.foo = 'bar'    def do_set_property(self, pspec, value):        print '    do_set_property called for %s=%r' % (pspec.name, value)        if pspec.name == 'foo':            self.foo = value        else:            raise AttributeError, 'unknown property %s' % pspec.name    def do_get_property(self, pspec):        print '    do_get_property called for %s' % pspec.name        if pspec.name == 'foo':            return self.foo        elif pspec.name == 'boolprop':            return 1        else:            raise AttributeError, 'unknown property %s' % pspec.namegobject.type_register(MyObject)print "MyObject properties: ", gobject.list_properties(MyObject)obj = MyObject()val = obj.get_property('foo')print "obj.get_property('foo') == ", valobj.set_property('foo', 'spam')print "obj.set_property('foo', 'spam')"val = obj.get_property('foo')print "obj.get_property('foo') == ", valval = obj.get_property('boolprop')print "obj.get_property('boolprop') == ", val

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?