Qt is a complete C++ application development framework.
It includes a class library and tools for
cross-platform development and internationalization.
One of the key design goals behind Qt is to make
cross-platform application programming
intuitive, easy and fun.
Qt achieves this goal by abstracting low-level
infrastructure functionality in the underlying window and
operating systems, providing a coherent and logical
interface that makes sense to programmers.
The Qt API and tools are consistent across all supported
platforms (see below for details), enabling platform
independent application development and deployment.
Qt applications run natively, compiled from
the same source code, on all supported platforms:
Qt/Windows (Microsoft Windows XP, 2000, NT 4, Me/98/95)
Qt/X11 (Linux, Solaris, HP-UX, IRIX, AIX, many other Unix variants)
Qt/Mac (Mac OS X)
Qt/Embedded (embedded Linux)
You can use a surprisingly small amount of resources to realistically
target Windows, Linux/Unix, Mac OS X, and embedded Linux platforms.
Short Learning Curves, Ease of Use
Qt developers only have to learn one API to write apps that run almost
We have put considerable effort into making Qt as easy to use and
intuitive as possible. Customers tell us that we succeeded: they find Qt
programming simple and enjoyable.
For the business this translates into more functionality
and less maintenance without having to sacrifice quality.
More functionality, less work
The uniform cross-platform API lets programmers concentrate
on value-adding innovation, instead of worrying about maintaining
and administering infrastructure and interfaces for multiple
versions of existing applications.
Platform Independence for Developers
In addition to having access to a very large widget-set, Qt
developers only have to learn one API to write an application that
will run on all major platforms. In addition, they can work on
whichever platform they are most productive in.
By eliminating multiple source-trees, Qt eliminates the evils (and
significant added costs) of maintaining and administering them. With one source, you
have just one source to maintain, one source to administer, and a lot
more time to do creative work.
Add Value, not Code
Qt lets programmers concentrate on adding value to the application code,
instead of worrying about building, maintaining, and administering separate
infrastructure and application codebases on multiple platforms.
True Platform Independence
Qt encapsulates the different platform-specific APIs of Unix, Windows,
and Mac, and the APIs for file-
handling, networking (Operations,
With Qt, ugly constructs such as #IFDEF (Win32) becomes a thing of the past.
Native Look and Feel
Qt GUIs are indistinguishable from native applications.
No Runtime Environment
Qt applications require no bulky runtime environment to be installed
on the target systems, and hence there are no version conflicts to
worry about. And on Windows, no X servers are required either.
Qt requires no "virtual machines" or emulation layers. It writes
directly to low-level graphics functions, just like native apps do.
So Qt applications run at native speed.
Because Qt has been written to compile smoothly through multiple
compilers, applications built with Qt are usually quite robust.
Qt simplifies memory management by handling all deallocation of child widgets.
Programmers need only concern themselves with top-level objects.
Easy integration with 3rd party libraries and products
Qt works well together with a host of other C++ libraries such as
and many others.
Migration from Microsoft Foundation Classes (MFC)
Qt offers an upgrade path for MFC applications. To read why and how, please click here.
Migration from Motif
Qt also offers an upgrade path for aging Motif applications,
enabling updated look and feel on X11/Linux and Windows versions that don't need X servers.
For more info, click here.
Extra widgets and components available
You can also get specialized widgets for Qt, such as KDAB Chart and