The TraitsUI project contains a toolkit-independent GUI abstraction layer,
which is used to support the "visualization" features of the
Traits <http://github.com/enthought/traits>__ package.
Thus, you can write model in terms of the Traits API and specify a GUI
in terms of the primitives supplied by TraitsUI (views, items, editors,
etc.), and let TraitsUI and your selected toolkit and back-end take care of
the details of displaying them.
Given a Traits model like the following::
from traits.api import HasTraits, Str, Range, Enum class Person(HasTraits): name = Str('Jane Doe') age = Range(low=0) gender = Enum('female', 'male') person = Person(age=30)
we can use TraitsUI to specify a and display a GUI view::
from traitsui.api import Item, RangeEditor, View person_view = View( Item('name'), Item('gender'), Item('age', editor=RangeEditor(mode='spinner', low=0, high=150)), buttons=['OK', 'Cancel'], resizable=True, ) person.configure_traits(view=person_view)
which creates a GUI which looks like this:
Website and Documentation:
Source code repository:
If you want to run traitsui, you must also install:
You will also need one of the following backends:
Backends have additional dependencies and there are optional dependencies on NumPy and Pandas for some editors.
TraitsUI along with all dependencies can be installed in a straightforward way
Enthought Deployment Manager <http://docs.enthought.com/edm/>__,
pip or other .
To run the test suite, you will need to install Git and
EDM <http://docs.enthought.com/edm/> as well as have a Python environment
which has install
Click <http://click.pocoo.org/> available. You can then
follow the instructions in
etstool.py. In particular::
> python etstool.py test_all
will run tests in all supported environments automatically.