Controls:
Qt is a graphical toolkit, so provides a rich set of graphical controls:
labels, combo box, toggle buttons, ... Some of them are very sophisticated,
like the listview which allow to have multi column list view with icons and
toggle buttons.
XML:
Qt provides classes to manipulate XML documents (using Sax2 or Dom). The tool
is simple, powerful, complete and bug free.
Regular Expressions:
Qt provides full support for perl-compatible regular expression. This goes
far beyound the simple \'?\' and \'*\' meta-characters. Regular Expressions are a
very powerful tool, to parse documents, to grep patterns inside documents, to
build filters, to define masks for edit controls.
Multi-platform:
Qt 3 is multi-platform. It works on Windows (any of them), Unix (any of them),
MacOs X and embedded platforms. You just have to recompile your code to get it
working on a different platform. Except for the compiler adjustments (or
limitations), you don\'t have to touch your code.
Template classes:
Qt provides useful classes to handle lists, files, dictionnaries, strings,
threads, ... All of them are very powerful and very handy; more than the STL
and the MFC equivalents.
Memory management:
Qt has many facilities that makes memory management a no-brainer. Qt objects
are automatically destroyed when their parent is destroyed. Many classes have
an implicit sharing mechanism that relieves you from the pain of managing
destruction and copy of these objects.
Network API:
Qt features classes to help programming with Network programming: socket, dns,
ftp, http, ...
Database API:
Qt features classes for seamless database integration : Data aware wigets,
database connection, SQL queries, ...
OpenGL API:
Qt provides classes for seamless integration with OpenGL (3D accelearted)
libraries.
Canvas:
Qt provides classes optimised for handling quickly moving 2d objects, usually
known as sprites.
Styles:
It is possible to fully customize the rendering of all the Qt controls. That
way, Qt emulates the style of all the available toolkits: Motif, MFC,
NextStep, ...
What about Codejock ?
The many drawbacks of MFC have left room for companies to sell MFC wrappers,
which help to actually build applications easely. We have been using the
CodeJock library. How does CodeJock + MFC compares to Qt ?
CodeJock is a wrapper around MFC which is a wrapper around the windows API.
Adding more wrappers to hide problems is usually not a good solution. All the
cited problems still exist (resources, templates for doc/view, messages,
unicode, internationalisation, ...)