Skip to content
TraitsUI: Traits-capable windowing framework
Python Other
  1. Python 99.9%
  2. Other 0.1%
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Doumentation improvements and fixes (#778) Apr 3, 2020
examples Updated HDF5_tree_demo.py (#777) Apr 3, 2020
integrationtests Add parenthesis after bare traits (#771) Mar 31, 2020
traitsui Python API change: cgi.escape -> html.escape (#780) Apr 15, 2020
.coveragerc add a coveragerc Jul 1, 2015
.gitignore Add _version.py to the .gitignore file Aug 30, 2015
.travis.yml Semi-automated WxPython 4 conversion (#708) Jan 12, 2020
CHANGES.txt Update master CHANGES.txt to reflect 6.1.3 release. (#661) Sep 4, 2019
LICENSE.txt Update license copyright dates. Apr 12, 2018
MANIFEST.in Pull common UI panel code into a base class. Aug 17, 2017
README.rst Update doc links [ci skip] Aug 15, 2019
README_example.png Fix image for README. Aug 3, 2015
TODO.txt fixed imports Apr 20, 2011
appveyor-clean-cache.txt update appveyor build config Jun 10, 2017
appveyor-run.cmd make sure we exit on failure Jun 16, 2017
appveyor.yml Semi-automated WxPython 4 conversion (#708) Jan 12, 2020
checksums use a checksum do the wxpython download Jul 1, 2015
ci-src-requirements.txt Test against Traits master (#714) Jan 12, 2020
codecov.yml Fix syntax issues Dec 17, 2016
doc-requirements.txt add a doc-requirements.txt file Apr 22, 2016
etstool.py Semi-automated WxPython 4 conversion (#708) Jan 12, 2020
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
install-edm-linux.sh Update to EDM 2.0.0. Nov 18, 2019
install-edm-osx.sh Update to EDM 2.0.0. Nov 18, 2019
install-edm-windows.cmd Update to EDM 2.0.0. Nov 18, 2019
setup.cfg FIX: files setting the toolkit crashed nosetest Jan 18, 2012
setup.py Move examples/tutorials/tutor.py into traitsui/extras (#697) Dec 19, 2019
tox-requirements.txt Add missing configobj requirement for tox Feb 20, 2019
tox.ini improve tox.ini Apr 18, 2016

README.rst

TraitsUI: Traits-capable windowing framework

https://travis-ci.org/enthought/traitsui.svg?branch=master https://ci.appveyor.com/api/projects/status/n2qy8kcwh8ibi9g3/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.

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', low=0, high=150)),
    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

Important Links

Installation

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

You will also need one of the following backends:

  • PyQt
  • wxPython
  • PySide
  • 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.

You can’t perform that action at this time.