Develop with Qt | Qt 4.8 (original) (raw)
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.

Qt Technologies
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
UI Creation
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
- Creator's QML Design Mode - design Qt Quick interfaces using Creator's design mode
- Qt Quick Components for Symbian - a native QML component set for the Symbian^3 platform
- 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:
- QtOpenGL Module - module for rendering with the OpenGL API
- QtOpenVG Module - provides support for OpenVG painting
- Printing with Qt - A guide to producing printed output with Qt's paint system and widgets
QtWebKit Module
Web applications are increasing in importance and abundance and Qt has WebKit support.
- WebKit in Qt - WebKit Module
Utilities
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
© 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.