https://github.com/enthought/traitsui
TraitsUI: Traits-capable windowing framework
https://github.com/enthought/traitsui
Last synced: about 1 year ago
JSON representation
TraitsUI: Traits-capable windowing framework
- Host: GitHub
- URL: https://github.com/enthought/traitsui
- Owner: enthought
- License: other
- Created: 2011-04-18T22:32:33.000Z (about 15 years ago)
- Default Branch: main
- Last Pushed: 2024-05-20T14:16:40.000Z (about 2 years ago)
- Last Synced: 2025-04-01T07:52:30.316Z (about 1 year ago)
- Language: Python
- Homepage: http://docs.enthought.com/traitsui
- Size: 52.2 MB
- Stars: 300
- Watchers: 71
- Forks: 97
- Open Issues: 462
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.txt
- License: LICENSE.txt
Awesome Lists containing this project
README
============================================
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:
.. image:: https://raw.github.com/enthought/traitsui/main/README_example.png
Important Links
---------------
- Website and Documentation: ``__
* User Manual ``__
* Tutorial ``__
* API Documentation ``__
- Source code repository: ``__
* Issue tracker: ``__
- Download releases: ``__
- Mailing list: ``__
Installation
------------
If you want to run traitsui, you must also install:
- Traits ``__
- Pyface ``__
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 package managers.
.. end_of_long_description
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.