I have found enaml to be invaluable to my work (writing simple UIs for scientific applications), and much more intuitive to use that PyQt or TraitsUI. It provides an extremely expressive mechanism to react to (nested) changes in the UI or the model.