Skip to content
TraitsUI: Traits-capable windowing framework
Latest commit 536ff2c May 11, 2016 @corranwebster corranwebster Merge pull request #285 from enthought/add-codecov-config
Create codecov.yml
Failed to load latest commit information.
docs add a make.bat for windows Apr 22, 2016
examples Fix some file handling at @itziakos's suggestion. Sep 4, 2015
integrationtests ENH: Use a common, backend-independent implementation of ColorColumn. May 9, 2012
traitsui TWK: Remove obsolete comment per Corran comment Apr 14, 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 do not use get-pip or wheels for upgrading pip Jan 21, 2016 fix wheel name Aug 18, 2015
checksums use a checksum do the wxpython download Jul 1, 2015
codecov.yml Create codecov.yml May 11, 2016
doc-requirements.txt add a doc-requirements.txt file Apr 22, 2016
image_LICENSE.txt updating image locations in license file Jun 6, 2011
image_LICENSE_Eclipse.txt Fix #87: Fix non-ascii text files and remove unused directories. Nov 26, 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 Bump version for next release, set IS_RELEASED back to False Apr 21, 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:

Something went wrong with that request. Please try again.