[Insight-users] Merits and de-merits of FLTK vs. QT
Gavin Baker
gavinb+xtk at cs.mu.OZ.AU
Fri, 19 Mar 2004 17:56:04 +1100
Hello,
On Thu, Mar 18, 2004 at 11:58:54AM -0800, Yasser Bashir wrote:
> If you have any insight into the advantages and disadvantages of using
> FLTK vs QT with a VTK/ITK application, id really appreciate it.
>
> (Please ignore the licensing difference because I believe we can manage
> to get an academic license for Qt free of cost)
FWIW, my 2c...
First of all, there are no particular technical reasons to favour one over
the other AFAIK. Both can work perfectly well with ITK+VTK, both are very
portable.
The most significant difference between the two is scope; FLTK is designed
to be small and fast (true to its name) and it only provides a GUI toolkit
for widgets. It has very good OpenGL support, and includes a nice wysiwyg
form designer called Fluid. There are a number of add-on libraries to
extend FLTK (see the website at www.fltk.org for details), however the core
itself is very small.
Qt on the other hand, is much broader in scope; it is more like a
comprehensive application framework. Not only does it provide a set of
widget classes, but also classes for networking, graphics, sql,
signals/slots, i18n, scripting and more. It also has QtDesigner, which is
more like an IDE than a form desginer.
As for the cons; FLTK isn't as comprehensive, feature-full or slick as Qt.
Qt tends to have a greater impact on the design of your app (due to touching
most areas of functionality), thus creating greater dependence.
So really it depends on your requirements; do you simply need a good GUI
toolkit? FLTK is a fine choice. Do you need a comprehensive class library
around which to write your app? Qt can provide most of what you will need.
The best thing to do is browse the online documentation for them both, and
see which is a better fit for your application design.
http://www.fltk.org/doc-1.1/toc.html
http://doc.trolltech.com/3.3/index.html
I hope this helps...
:: Gavin
--
Gavin Baker Complex Systems Group
http://www.cs.mu.oz.au/~gavinb The University of Melbourne