python
The TraitsGUI project from the Enthought Tool Suite contains a
toolkit-independent GUI abstraction layer (known as Pyface), which
is used to support the "visualization" features of the Traits
package. Thus, you can write code in terms of the Traits API
(views, items, editors, etc...), and let TraitsGUI and your
selected toolkit and back-end take care of the details of
displaying them. You can use Qt or Wx backends.