TraitsUI: Traits-capable windowing framework
Latest commit c158da6 Nov 24, 2016 @corranwebster corranwebster committed on GitHub Merge pull request #318 from enthought/fix/issue#316
Fix string comparision in CheckListEditor
Failed to load latest commit information.
docs Remove references to '-toolkit' option. Sep 1, 2016
examples Automated fixups of examples and integration tests Jun 21, 2016
integrationtests Automated fixups of examples and integration tests Jun 21, 2016
traitsui BUG: Fix string comparision to include unicode strings Nov 24, 2016
.coveragerc add a coveragerc Jul 1, 2015
.gitignore Add to the .gitignore file Aug 30, 2015
.travis.yml fix-typo Aug 21, 2015
CHANGES.txt update Changelog after new merge Apr 18, 2016
LICENSE.txt fixed imports Apr 20, 2011 Fix image for README. Aug 3, 2015
README.rst corrected links to travis, appveyor and codecov on README Apr 15, 2016
README_example.png Fix image for README. Aug 3, 2015
TODO.txt fixed imports Apr 20, 2011
appveyor-install.cmd Fix pyside version to 1.2.2 for appveyor Oct 27, 2015
appveyor-test.cmd run the qt specific tests on all setups Aug 19, 2015
appveyor.yml Fix appveyor pip install command. Aug 18, 2016 fix wheel name Aug 18, 2015
checksums use a checksum do the wxpython download Jul 1, 2015
codecov.yml Create codecov.yml May 10, 2016
doc-requirements.txt add a doc-requirements.txt file Apr 22, 2016
image_LICENSE.txt updating image locations in license file Jun 7, 2011
image_LICENSE_Eclipse.txt Fix #87: Fix non-ascii text files and remove unused directories. Nov 25, 2012
image_LICENSE_Nuvola.txt converting to unix line endings and removing excess whitespace Jan 28, 2011
setup.cfg FIX: files setting the toolkit crashed nosetest Jan 18, 2012 Autopep8 auxilliary files. Jun 17, 2016
tox-requirements.txt tox tests with the release of traits on pypi Apr 15, 2016
tox.ini improve tox.ini Apr 18, 2016
travis-ci-requirements.txt Update travis-ci-requirements.txt Apr 21, 2016


TraitsUI: Traits-capable windowing framework

The TraitsUI project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the 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.

The following GUI backends are supported:

  • wxPython
  • PyQt
  • PySide

Warning: In TraitsUI version 5.0 the default GUI backend will change from wx to qt4.


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('age', editor=RangeEditor(mode='spinner')),
    buttons=['OK', 'Cancel'],


which creates a GUI which looks like this:


If you want to run traitsui, you must also install: