In computer programming, the Qt toolkit is a cross-platform graphical widget toolkit for the development of GUI programs. Qt is most notably used in the K Desktop Environment. It is produced by the Norwegian company Trolltech, formerly Quasar Technologies.
Qt uses an extended version of the C++ programming language, but bindings exist for Python, C and Perl. It runs on all major platforms, and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, and a unified cross-platform API for file handling.
Five varieties of Qt now exist, supporting various platforms, but with varying licenses:
- Qt/X11 — Qt for X Window System — GPL or proprietary
- Qt/Mac — Qt for Apple Mac OS X — formerly proprietary only, now also under GPL
- Qt/Windows — Qt for Microsoft Windows — formerly proprietary. An obsolete version is available under a non-commercial license and a more recent non-commercial version was packaged with C++ GUI Programming with Qt 3, by Jasmin Blanchette and Mark Summerfield. Trolltech announced on February 7, 2005, that their upcoming version 4.0 of Qt/Windows will also be released under the GPL as well as under their standard commercial license.
- Qt/Embedded — designed for PDAs and Embedded Linux — GPL or proprietary
- Qt/Windows Free Edition — a free version of Qt released by the KDE on Cygwin project. This version is based entirely on the Qt/X11 source code and licensed under the GPL.
Trolltech is currently developing Qt 4, which includes a lot of new features. This will be available sometime in early 2005. It will include a GPL edition of Qt/Windows. Visit http://www.trolltech.com for more information.
Haavard Nord and Eirik Chambe-Eng (the original developers of Qt and the CEO and President of Trolltech respectively) began development of "Qt" in 1991, three years before the company was incorporated as Quasar Technologies, then changed the name to Troll Tech, and then to Trolltech.
The toolkit was called Qt because the letter Q looked beautiful in Haavard's Emacs font, and T was inspired by Xt, the X toolkit.
Controversy erupted around 1997 when it became clear that KDE was going to become one of the leading desktop environments for GNU/Linux. As KDE was based on Qt, many people in the open source and free software movements were worried that an essential piece of one of their major operating systems would be under commercial control.
This gave rise to two efforts: the Harmony toolkit which sought to duplicate the Qt Toolkit under a free software license and the GNOME desktop that was meant to supplant KDE entirely. The GNOME Desktop uses the GTK+ toolkit which was written for the GIMP, and mainly uses the C programming language. GTK+ endeavors to have the same cross-platform capabilities as Qt.
Trolltech licensed Qt under the Q Public License (QPL), a free software license, but one regarded by the FSF as incompatible with the GPL. Compromises were sought between KDE and Trolltech wherein Qt would not be able to fall under a more restrictive license than the QPL, even if Trolltech was bought out or went bankrupt. On September 4, 2000, Trolltech announced that the upcoming Qt 2.2 release would be licensed under the GPL. Qt 2.2 was released on September 6, 2000, with KDE 2.0 following on October 23, 2000. Subsequent releases of Qt/X11 have also been released under the GPL. The current version is 3.3. A beta version of Qt 4 has recently been released, with the final version expected in early 2005. Qt 4.0 will include a version of Qt/Windows released under the GPL.
- The Trolltech homepage (http://www.trolltech.com)
- Qt 3.3 Reference Documentation (http://doc.trolltech.com/3.3/)
- Trolltech Releases First Qt4 Technology Preview (http://dot.kde.org/1089303565/)
- GPL Versus Qt "War" (19.2.3) (http://developer.kde.org/documentation/books/kde-2.0-development/ch19lev1sec2.html|The)