Qt in Slicer3
This page captures the design considerations about moving Slicer3 from KWWidgets to Qt. As of August 2009 there are no concrete plans for a switch; however there is significant momentum around Qt as an open source technology and interest in making it available to the Slicer community.
Background
When Slicer3 was being designed in 2004 Qt was available only under the GPL license or a commercial (pay) license (See the wikipedia discussion) and neither license option was acceptable to the community. In March 2009 Qt 4.5 was released under the LGPL license and became a possible technology for use in Slicer.
Slicer3 is implemented using KWWidgets which has proven to be extremely capable and robust. However, due to the small size of the developer team for KWWidgets Kitware has been clear that it will not be able to compete with the features being added to Qt and is in fact adopting Qt for many of its internal projects (see, for example, ParaView which migrated to Qt over the past several years).
Experiments
In August of 2009 several members of the slicer development team have been learning about Qt and reviewing options. Things that are currently working:
- Qt and KWWidgets can co-exist in same application environment (in different top level windows).
- Qt widgets interfaces can be assembled using the QtDesigner, C++, or python.
- It is feasible to create slicer widgets that use Qt (e.g. a NodeSelector widget).