Qt is used to build multi-platform graphical user interfaces
What is it?
Qt is a C++ toolkit for multi-platform graphical user interface development. It can be used purely for GUI design, or to build entire applications, including applications for all the leading database products.
Qt uses a "write once, compile anywhere" approach - having no compiler of its own, it makes use of the compiler on the target system. Programs have a native look and feel on all supported platforms.
Now an open source product, Qt is used by IBM, Motorola, Adobe and the KDE Linux desktop project, among others. The KDE Foundation attracted criticism for adopting Qt before it was made open source, and responded, "Qt is the best GUI toolkit available for the Unix platform."
Also available are Qt# for C#, Qt/Embedded and Qtopia, an application development environment for mobile phones used by manufacturers including Motorola and Philips.
Where did it originate?
Qt comes from Trolltech, an Oslo-based company founded in 1994. It went into commercial use in 1995, and the Unix version of Qt was made available with a GPL open source licence in 2000.
What is it for?
Qt is fully object-oriented. It includes Qt Designer, a tool for the visual design of GUIs, with a built-in C++ code editor that can be used for complete applications. Qt includes support for platform-specific features such as ActiveX on Windows and Motif on Unix, which enables it to be used for single-platform development as an alternative to native environments. Qt offers an upgrade path for MFC (Microsoft Foundation Classes) and legacy Motif applications.
Qt Linguist can be used to "internationalise" applications in Arabic, Chinese, Hebrew, Japanese, Russian and other languages supported by Unicode.
What makes it special?
Apart from its portability and the fact that it is free to download and use for 30 days, the tools and class library take care of most of the low-level programming, filling in the gaps in the C++ standard libraries, and leaving developers to concentrate on functionality.
How difficult is it to master?
Qt has been designed to be intuitive to use, and at its most basic, developers only have to learn one API. The Qt API and tools are consistent across all supported platforms.
Where is it used?
Users include Nasa, Pixar Studios, Adobe, QCad open source computer-aided design system for Linux, Skype free internet telephony software, the interactive version of Birds of the Western Palearctic, and many research applications.
What systems does it run on?
By recompiling, applications can run on Windows, Mac OS X, Linux, Embedded Linux, Solaris, HP-UX and other versions of Unix. Qt includes native drivers for Oracle, SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL, Borland Interbase, SQLite, and ODBC-compliant databases.
What's coming up?
The Windows version of Qt is due to come out under an open source licence this year.
There are books about C++ GUI development with Qt, and dozens of sites run by groups and individuals sharing Qt knowledge and code.
Rates of pay
C++ developers with Qt in their portfolios can look for £30,000 and upwards.
This was first published in April 2005