Develop with Qt
Developing a Qt application involves many different steps and stages. From configuring Creator to distributing binaries to different platforms, Qt provides many options along the way.
Configuring Qt and Creator Targets
Qt and Creator are configurable to compile applications on many platform targets and multiple platforms.
Configuring Creator for Qt Development:
Creator is the integrated development environment for developing Qt applications. Creator encompasses every step of application development from interface design to application testing and deployment.
- Creating Qt Projects
- Building and Running Applications
- Setting Up Development Environment for Symbian
- Setting Up Development Environment for Maemo
Qt Platform Support
Alternatively, Qt may be installed on its own without the Nokia Qt SDK.
Information regarding Qt Support on Different Platforms:
- Symbian and Mobile Development
- Microsoft Windows
- Microsoft Windows CE
- Apple Mac OS X
- Linux and X11 Platforms
- Qt for Embedded Linux
Qt introduces an innovative alternative for inter-object communication, called "signals and slots", that replaces the old and unsafe callback technique used in many legacy frameworks. Qt also provides a conventional event model for handling mouse clicks, key presses, and other user input. Qt's cross-platform GUI applications can support all the user interface functionality required by modern applications, such as menus, context menus, drag and drop, and dockable toolbars. Desktop integration features provided by Qt can be used to extend applications into the surrounding desktop environment, taking advantage of some of the services provided on each platform.
The Qt Modules page has a listing of the technology modules offered by Qt.
Qt's Meta-Object System
Qt offers a unique event system based on meta-objects, signals and slots, and property systems.
- Qt's Meta-Object System - Qt's mechanism for signals and slots, inter-object communication, run-time type information, and dynamic property system
- Event System - event handling and delivery
- Property System - dynamic object properties
Qt offers several options with regards to user interface creation: widget based applications using layouts and Qt Quick interfaces with QML.
- Qt Quick - create UIs using QML
- Widgets and Layouts - primary elements for C++ based interfaces
- Creator's Designer - design interfaces using Qt Designer
- UI Design with Qt - covers many Qt features for UI creation
Inter-Process Communication, Threading, and Networking
In addition to Qt's Meta-Object System, Qt has several technologies that deal with inter-process communication.
- Inter-Process Communication - various overviews of protocols implemented in Qt
- Network Programming - various overviews to network APIs
- D-Bus - D-Bus implementation in Qt
- Thread Support - overview of threading APIs and concurrent programming topics
Rendering and Paint System
Qt has various support for different rendering and painting methods.
- Coordinate System - Information about the coordinate system used by the paint system
- Graphics View Framework - manages a large number of 2D items and visualizes the items
- Paint System - A system for painting on the screen or on print devices using the same API
- QtSvg Module - module for displaying and creating SVG files
- Rendering APIs:
- Printing with Qt - A guide to producing printed output with Qt's paint system and widgets
Web applications are increasing in importance and abundance and Qt has WebKit support.
Qt supports many utilities that work on multiple platforms.
- Containers - Qt's implementation of various data structures such as linked lists and hash maps
- Rich Text Processing - for manipulating structured rich text documents
- XML Processing - high level manipulation of XML data using different interfaces
- Making Applications Scriptable - provides Qt applications with ECMAScript processor
- Qt Linguist - for translating applications into local languages
For more information, visit the Qt Tools page.
Testing Qt Applications
Testing and debugging are part of the development process and Qt offers the developer multiple methods of testing their code.
- Debugging Applications in Creator - various debugging options in Creator
- Debugging Techniques - essential techniques for debugging Qt code
- Simulator - testing mobile applications by simulating a mobile environment
- QML Viewer - an executable that is able to run QML files
- QTestLib - a unit testing framework built into Qt
Symbian phones, Maemo devices, desktop environments, embedded Linux devices -- Qt applications are deployable to many environments. To deploy Qt applications onto multiple platforms, there are special considerations that each platform introduce.
- Deploying Qt Libraries - compares static versus shared libraries and deploying Qt libraries
- Deploying Third Party Libraries - deployment of libraries that are not under Qt's dual-license model.
- Platform-Specific Deployment:
- Symbian Deployment in Creator - Symbian application deployment built into Creator
- Deploying Qt Applications on Maemo Devices
Ovi Store Publishing
Creator can publish applications to Ovi Store directly.
© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.