Traits-capable user interfaces
The TraitsUI project provides a toolkit-independent GUI abstraction layer, which is used to support the “visualization” features of the Traits package. You can write a model using the Traits API and specify a GUI using the TraitsUI API (views, items, editors, etc.), and let TraitsUI and your selected toolkit back-end (Qt or Wx) 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)
And using TraitsUI to specify 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)
It creates a GUI which looks like this:
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 using the Enthought Deployment Manager, pip or other package managers.
Running the Test Suite
> python etstool.py test_all
will run tests in all supported environments automatically.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.