[PyQt] dip model types, properties, and syntax
Darren Dale
dsdale24 at gmail.com
Mon Aug 9 14:45:12 BST 2010
I have a question about using dip model attributes as properties. The
documentation at
http://www.riverbankcomputing.com/static/Docs/dip/model_tutorial.html#attributes-are-properties
gives an example:
class ExampleModel(Model):
name = Str
def _get_name(self):
return self._name
def _set_name(self, value):
self._name = value
# method taken from previous section in documentation:
def _default_name(self):
import name_database
return name_database.most_common_name()
Would it be possible for dip's model types to support the property
decorator syntax introduced in Python-2.6? If so, the above example
could then be implemented as:
class ExampleModel(Model):
name = Str
@name.getter
def name(self):
return self._name
@name.setter
def name(self, value):
self._name = value
@name.default
def name(self):
import name_database
return name_database.most_common_name()
The virtue, aside from reusing an already familiar pattern in the
standard library, is that the ExampleModel namespace has fewer exposed
private methods, which is desirable for models intended to be used and
inspected in an interactive python environment like IPython.
Thank you,
Darren
More information about the PyQt
mailing list