TraitsUI Documentation¶
- TraitsUI 7.4.0 User Manual
- TraitsUI 7.4.0 Developer Guide
- TraitsUI 7.4.0 API Reference
- TraitsUI 7.4.0 Tutorials
- TraitsUI 7.4.0 Demos
- Traits UI Changelog
- Release 7.4.0
- Release 7.3.1
- Release 7.3.0
- Release 7.2.1
- Release 7.2.0
- Release 7.1.1
- Release 7.1.0
- Release 7.0.1
- Release 7.0.0
- Release 6.1.3
- Release 6.1.2
- Release 6.1.1
- Release 6.1.0
- Release 6.0.0
- Release 5.2.0
- Release 5.1.0
- Release 5.0.0
- Release 4.5.1
- Release 4.5.0
- Release 4.4.0
- Traits 3.5.0 (Oct 15, 2010)
- Traits 3.4.0 (May 26, 2010)
- Traits 3.3.0 (Feb 24, 2010)
- Traits 3.2.0 (July 15, 2009)
TraitsUI: Traits-capable windowing framework¶
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.
Example¶
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:

Important Links¶
Website and Documentation: http://docs.enthought.com/traitsui
User Manual http://docs.enthought.com/traitsui/traitsui_user_manual
API Documentation http://docs.enthought.com/traitsui/api
Source code repository: https://github.com/enthought/traitsui
Issue tracker: https://github.com/enthought/traitsui/issues
Download releases: https://pypi.python.org/pypi/traitsui
Mailing list: https://groups.google.com/forum/#!forum/ets-users
Installation¶
If you want to run traitsui, you must also install:
You will also need one of the following backends:
wxPython
PySide2
PyQt5
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 .
Running the Test Suite¶
To run the test suite, you will need to install Git and
EDM as well as have a Python environment
which has install Click 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.