TraitsUI: Traits-capable windowing framework
Python
Latest commit 25dacf5 Jun 27, 2016 @corranwebster corranwebster committed on GitHub Merge pull request #293 from enthought/fix/qt-tree-drag-offset
Fix offset when dragging items in a Qt TreeEditor
Failed to load latest commit information.
docs Mention ProgressColumn in documentation. May 23, 2016
examples Automated fixups of examples and integration tests Jun 21, 2016
integrationtests Automated fixups of examples and integration tests Jun 21, 2016
traitsui Compute the hotspot offset before potentially slow computations. Jun 27, 2016
.coveragerc add a coveragerc Jul 1, 2015
.gitignore Add _version.py 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
MANIFEST.in 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
build_pyside_wheel.sh 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
setup.py Autopep8 auxilliary files. Jun 16, 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

README.rst

TraitsUI: Traits-capable windowing framework

https://travis-ci.org/enthought/traitsui.svg?branch=master https://ci.appveyor.com/api/projects/status/gkcirica40xx2qyk/branch/master?svg=true https://codecov.io/github/enthought/traitsui/coverage.svg?branch=master

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.

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)

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')),
    buttons=['OK', 'Cancel'],
    resizable=True,
)

person.configure_traits(view=person_view)

which creates a GUI which looks like this:

https://raw.github.com/enthought/traitsui/master/README_example.png

Prerequisites

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