Qt is most notably used in Autodesk, Google Earth, KDE, Adobe Photoshop Album, the European Space Agency, OPIE, Skype, VLC media player, Samsung, Philips, Panasonic and VirtualBox.
It is produced by Nokia's Qt Development Frameworks division, which came into being after Nokia's acquisition of the Norwegian company Trolltech, the original producer of Qt.
Qt uses standard C++ but makes extensive use of a special code generator (called the Meta Object Compiler, or moc) together with several macros to enrich the language. Qt can also be used in several other programming languages via language bindings. It runs on all major platforms and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support, and a unified cross-platform API for file handling.
Distributed under the terms of the GNU Lesser General Public License (among others), Qt is free and open source software. All editions support a wide range of compilers, including the GCC C++ compiler and the Visual Studio suite.
Introducing Qt Simulator.
Qt Simulator allows you to quickly test and debug applications that target mobile devices, without the overhead of emulating the device at hardware level. It provides special versions of the Qt and Qt Mobility libraries that forward the display and settings to it.
You can link applications that use the Qt and Qt Mobility APIs to these libraries to run them inside Qt Simulator. This allows you to see how applications look and function on different devices in different situations. For example, you can view the application layout on Symbian and Maemo devices, in both landscape and portrait orientation. Or you can check how your application behaves when device battery power decreases to low or critical level.
Qt Simulator does not support any device specific APIs by design. Therefore, applications that run well on Qt Simulator also run on any device that hosts the Qt and Qt Mobility libraries.
The following Qt Mobility components are supported:
- Bearer Management
- Document Gallery
- Publish and Subscribe
- Qt Service Framework
- System Information
Note: Qt Simulator does not have support for catching memory leaks in applications. Memory leaks occur when memory that has been allocated is not freed. To catch memory leaks, use the dynamic analysis tools available for the platform. For example, you can use Valgrind on Maemo and Symbian Emulator and Carbide tools on Symbian.
Qt includes a set of examples that cover nearly every aspect of Qt development. They aren't meant to be impressive when you run them, but in each case the source code has been carefully written to illustrate one or more best Qt programming practices.
The examples are listed below by functional area. Each example listed in a particular functional area is meant to illustrate how best to use Qt to do some particular task in that functional area, but the examples will often use features from other functional areas as well for completeness.
These examples are provided under the terms of the Modified BSD License.
Examples by Functional Area.
Using ActiveX from Qt applications.
Doing animations with Qt.
Using D-Bus from Qt applications.
Integrating your Qt application with your favorite desktop.
Using Qt's standard dialogs and building and using custom dialogs.
How to access your platform's native drag and drop functionality.
Gesture programming examples.
Using Qt to manage and interact with a large (potentially) number of graphics items.
Adding interactive help to your Qt application.
Inter-Process Communication with Qt.
Using the model/view design pattern to separate presentation from data.
Using Qt's layout-based approach to widget management.
Building applications around a main window.
Audio, video, and Phonon with Qt.
How to do network programming in Qt.
Accessing OpenGL from Qt.
Accessing OpenVG from Qt.
How to use the Qt painting system.
Building UIs with QML
Using Qt Designer to build your UI.
Using Qt Linguist to internationalize your Qt application.
Using the Qt scripting environment.
Using Qt in Embedded Linux.
Using the document-oriented rich text engine.
Accessing your SQL database from Qt.
Using Qt's finite state machine classes.
Threading and concurrent programming in Qt.
Using Qt's containers, iterators, and other tool classes.
Using Qt's touch input capability.
Using the QtUiTools module.
Using WebKit in your Qt application.
Lots of examples of how to use different kinds of widgets.
Using XML with Qt.
Programming with Qt.
Qt is a cross-platform application and UI framework for writing web-enabled applications for desktop, mobile, and embedded operating systems. This page contains links to articles and overviews explaining key components and techniuqes used in Qt development.
How to make your applications accessible to those with disabilities.
Qt API's for using ActiveX controls, servers, and COM.
Qt's template-based container classes.
An overview of the Graphics View framework for interactive 2D graphics.
A guide to creating plugins to extend Qt applications and functionality provided by Qt.
Reference counting for fast copying.
Inter-Process communication in Qt applications.
Information about Qt's support for internationalization and multiple languages.
A tour of the standard layout managers and an introduction to custom layouts.
A guide to Qt's extensible model/view architecture.
The these pages are about Qt's support for network programming.
A description of the powerful features made possible by Qt's dynamic object model.
Information about the parent-child pattern used to describe object ownership in Qt.
A system for painting on the screen or on print devices using the same API
An overview of Qt's unit testing framework.
The Qt components for doing graphics.
How to use style sheets to customize the appearance of widgets.
An overview of Qt's rich text processing, editing and display features.
Qt API's for using SQL.
An overview of Qt's signals and slots inter-object communication mechanism.
A guide to event handling in Qt.
An overview of Qt's meta-object system and introspection capabilities.
An overview of Qt's property system.
Overview of the Main Window concept and Classes
A detailed discussion of thread handling in Qt.