5.9 FRAMEWORK

Qt 5.9 FRAMEWORK

Qt Essentials Qt Add-Ons Qt Essentials define the foundation of Qt on all platforms. They are available on all supported development platforms and on the tested target platforms. They will remain source- and binary-compatible during Qt 5. Qt Add-On modules bring additional value for specific purposes. These modules may only be available on some development platforms. Many add-on modules are either feature-complete and exist for backwards compatibility, or are only applicable to certain platforms. Each add-on module specifies its compatibility promise Essential modules are general and useful for a majority of Qt applications. A module that is used for a special purpose is considered an add-on module even if it is available on all supported platforms. separately.

Qt Core 214 Qt GUI 216 Qt Widgets 204 Qt Test 3 Qt Concurrent 5 Qt 3D Qt Charts 48/42 Qt Location 39/39 Active Qt Qt Android Extras 9 Core non-graphical classes used by other modules. Base classes for (GUI) The Qt Widgets module provides a set of user Qt Test provides classes for unit-testing Qt Classes for writing multi-threaded programs Qt 3D provides functionality for near-real- UI Components for displaying visually pleasing Displays map, navigation and place content in a Classes for applications which use ActiveX and components. Includes OpenGL. interface (UI) elements to create classic desktop- applications and libraries. without using low-level threading primitives. time simulation systems with support for charts, driven by static or dynamic data models. QML application. COM. Submodules: Provide platform-specific APIs for style user interfaces. 2D and 3D rendering in both Qt ++ and Animation Classes Submodules: : QT += concurrent Android. applications. qmake: QT += charts qmake: QT += location Threading Classes Event Classes Submodules: qmake: QT += testlib C++: #include C++: #include (namespace QtCharts) C++: #include QAxContainer 7 qmake: QT += androidextras Container Classes Painting Classes Basic Widget Classes C++: #include QML: import QtCharts 2.2 QML: import QtLocation 5.6 C++: #include Plugin Classes Rendering in 3D Advanced Widget Classes The QAxContainer module is a Windows- Implicitly Shared Classes Abstract Widget Classes only extension for accessing ActiveX State Machine Classes qmake: QT += gui Organizer Widget Classes Qt D-Bus 20 qmake: QT += 3dcore 3drender 3dinput Qt Serial Port 2 Qt WebEngine 18/19 controls and COM objects. Qt Mac Extras 3 23/16 3dlogic 3dextras 3danimation Input/Output Classes C++: #include Graphics View Classes Qt QML qmake: QT += axcontainer Classes for inteinter-processr-process communication over the 3dquick Provides access to hardware and virtual serial Qt Mac Extras provide classes and functions Event Classes Model/View Classes Provides a QML API to run web applications C++: #include Main Window and Related Classes Classes for QML and JavaScript languages. D-Bus protocol. ports. using the Chromium browser project. that enable you to use miscellaneous C++: #include Widget Appearance and Style-Related Classes C++: #include functionality specific to the OS X and iOS qmake: QT += dbus qmake: QT += serialport Layout Classes #include operating systems. C++: #include C++: #include qmake: QT += #include Submodules: QtWebEngineCore 3 QAxServer qmake: QT += macextras qmake: QT += widgets C++: #include #include QtWebEngine C++: #include C++: #include QML: import QtQml 2.2 #include QtWebEngineWidgets The QAxServer module is a Windows-only #include Qt Print Support 8 20 static library that you can use to turn a Qt Serial Bus standard Qt binary into a COM server. 16 8/9 Qt SQL Qt provides extensive cross-platform support for QML: import Qt3D.Animation 2.9 Provides access to serial industrial businterface. qmake: QT += webenginecore Qt Windows Extras 89/27 45/168 34 printing. import Qt3D.Core 2.0 Currently the module supports the CAN bus webengine webenginewidgets Qt SQL is an essential module which provides Qt Multimedia Qt Quick Qt Quick Controls qmake: QT += axserver Provide platform-specific APIs for Windows. import Qt3D.Extras 2.0 and Modbus protocols. C++: #include C++: #include support for SQL databases. Classes for audio, video, radio and camera A declarative framework for building highly Reusable Qt Quick-based UI controls to create import Qt3D.Input 2.0 #include qmake: QT += winextras functionality. dynamic applications with custom user classic desktop-style user interfaces. qmake: QT += printsupport import Qt3D.Logic 2.0 qmake: QT+= serialbus QML: import QtWebEngine 1.5 C++: #include interfaces. C++: #include import Qt3D.Render 2.0 C++: #include QML: import QtWinExtras 1.0 import Qt3D.Scene2D 2.9 qmake: QT += qml qmake: QT += sql qmake: QT += multimedia qmake: QT += quick 2/1 45 C++: #include C++: #include C++: #include QML: import QtQuick.Controls 1.4 Qt WebChannel Qt Quick Controls 2 Qt X11 Extras 1 QML: import QtMultimedia 5.8 QML: import QtQuick 2.5 Qt XML 31 Qt SVG 4 Qt NFC 11/6 Provides access to QObject or QML objects from Provides lightweight QML types for HTML clients for seamless integration of creating performant user interfaces for Provide platform-specific APIs for X11. C++ implementations of SAX and DOM. Classes for displaying the contents of SVG files. Provides access to near-field communication (NFC) 47 Qt applications with HTML/JavaScript clients. embedded and mobile devices. Qt Network Qt Multimedia Widgets 4 Qt Quick Dialogs 5 Qt Quick Layouts 5 Supports a subset of the SVG 1.2 Tiny standard. hardware. qmake: QT += x11extras Classes to network programming easier Widget-based classes for implementing Types for creating and interacting with system Layouts are items that are used to arrange qmake: QT += xml qmake: QT += svg qmake: QT += nfc qmake: QT += webchannel qmake: QT += quickcontrols2 C++: #include and more portable. multimedia functionality. dialogs from a Qt Quick application. Qt Quick based items in the user interface. C++: #include C++: #include C++: #include C++: #include C++: #include QML: import QtNfc 5.2 QML: import QtWebChannel 1.0 QML: import QtQuick.Controls 2.2 qmake: QT += network qmake: QT += multimediawidgets qmake: QT += quick qmake: QT += quick C++: #include C++: #include QML: import QtQuick.Dialogs 1.2 QML: import QtQuick.Layouts 1.3 Qt XML Patterns 16 Qt Image Formats Qt Bluetooth 26/3 Qt WebSockets 4/2 Qt Wayland Compositor 16/9 Qt Quick Extras 10 Support for XPath, XQuery, XSLT and XML The Qt Image Formats add-on module provides Provides access to Bluetooth hardware. Provides WebSocket communication compliant Provides a framework to develop a Wayland schema validation. optional support for other image file formats. with RFC 6455. Provides a specialized set of controls that compositor. The Qt Image Formats plugins are located as qmake: QT += xmlpatterns can be used to build interfaces in Qt Quick. qmake: QT+= waylandcompositor dynamic libraries in the runtime plugin directory qmake: QT += bluetooth qmake: QT += websockets C++: #include C++: #include (typically plugins/imageformats), together with C++: #include C++: #include QML: import QtWebSockets 1.1 QML: import QtQuick.Extras 1.4 QML: import QtWayland.Compositor 1.0 the default image format plugins. QML: import QtBluetooth 5.2 Deprecated Technology Preview Modules Modules marked as deprecated. The following modules are still in development but are available as technology previews. Qt Purchasing 3/3 Qt Graphical Effects 25 Qt Sensors 70/24 Qt WebView 1/2 Qt Quick Widgets 1 Qt SCXML 10/1 Provides a set of QML types for adding visually Provides access to sensor hardware and motion Provides a C++ widget class for displaying a Provides functionality to create state machines Enginio 6/4 Enables in-app purchase of products in Qt applica- Displays web content in a QML application by Qt Network Authorization 4 Qt Speech 3 Qt Remote Objects 10 Qt applications. impressive and configurable effects to user gesture recognition. using APIs native to the platform, without the Qt Quick user interface. from SCXML files. interfaces. A Backend-as-a-Service solution to ease the need to include a full web browser stack. Provides support for OAuth-based Provides support for accessibility features Provides support for accessibility features backend development for connected and qmake: QT += quickwidgets qmake: QT+= scxml authorizationto online services. such as text-to-speech. such as text-to-speech. qmake: QT += purchasing qmake: QT += quick qmake: QT += sensors qmake: QT += webview data-driven applications. C++: #include C++: #include C++: #include QML: import QtGraphicalEffects 1.0 C++: #include C++: #include qmake: QT += networkauth qmake: QT += texttospeech qmake: QT += remoteobjects QML: import QtSensors 5.0 QML: import QtWebView 1.1 QML: import Scxml 1.0 qmake: QT += enginio QML: import QtPurchasing 1.0 C++: #include C++: #include C++: #include C++: #include QML: import Enginio 1.0 35/35 16/11 36 7 3/4 Qt Canvas 3D 17 Qt Data Visualization Qt Positioning Qt Virtual Keyboard Qt Platform Headers Qt Gamepad Enables OpenGL-like 3D drawing calls from Qt UI Components for creating stunning 3D data Provides access to position, satellite and area A framework for implementing different input Provides classes that encapsulate platform-specific Qt Gamepad is an add-on library that enables Qt app- Quick applications using JavaScript. visualizations. monitoring classes. methods as well as a QML virtual keyboard. information, tied to a given runtime configuration lications to support the use of gamepad hardware. of a platform plugin. qmake: QT += datavisualization qmake: QT += positioning Supports localized keyboard layouts and custom qmake: QT+= gamepad QML: import QtCanvas3D 1.1 Qt OpenGL 11 C++: #include C++: #include visual themes. C++: #include QML: import QtDataVisualization 1.2 QML: import QtPositioning 5.2 QML: import QtQuick.VirtualKeyboard 2.3 QML: import QtGamepad 1.0 OpenGL support classes. Deprecated in favor of the QOpenGL* classes in the Qt GUI module.

qmake: QT += opengl Value-Add Modules Qt for Device Creation Qt Quick Compiler 6 C++: #include In addition to the modules released as part of Qt 5, the following modules and tooling build Tools for fast, easy and fully integrated Enables compiling .qml source files into on top of the Qt libraries to provide additional embedded device application development. application binaries, improving load times value. They have their own release schedule Includes most other Value-Add features. and security for code assets. and are available under different Qt licences. Development Tools Development platforms Legend , Windows and Mac OS X The module supports all target platforms when there is no icon visible. Qt Script 13 Utilities New module available Commercial module from Classes for making Qt applications scriptable. qmake for building applications for different target in Qt 5.9 Deprecated in favor of the QJS* classes in the platforms. You can also use other build automation makeqpf Create pre-rendered fonts for embedded devices. Target platforms Qt QML module. tools, such as CMake, or Autotools. Apple desktop Android mobile Meta-Object Compiler (moc) Generate meta-object information for QObject subclasses. operating system qmake: QT += script provides you with tools for accomplishing Desktop C++: #include your tasks throughout the whole application develop- User Interface Compiler (uic) Generate C++ code from UI files. ment life cycle, from creating a project to deploying Linux/X11 Apple mobile Linux operating system the application on the target platforms. macOS 10.10, 10.11, 10.12 operating system Resource Compiler (rcc) Embed resources into Qt applications during the build process. Windows 7, 8.1, 10 Qt Designer for designing and building GUIs from Qt Qt Tools widgets. You can compose and customize your A tool to introspect D-Bus objects and messages. Available from Windows Desktop / Windows Phone operating system Qt Tools run on all the supported development platforms and facilitate the development and design of applications. widgets or dialogs in a visual editor. (qdbusxml2cpp) the Qt SDK or the Qt 5 qttools repository. Mobile Qt Script Tools 1 Qt Linguist for localizing applications. Qt Linguist Android (API Level: 16) Qt Designer 21 Qt Help 11 Qt UI Tools 1 D-Bus Viewer Additional components for applications contains tools for the roles typically involved in iOS 8, 9, 10 that use Qt Script. Qt D-Bus XML compiler A tool to convert D-Bus interface descriptions to C++ source code. Universal Windows Platform Classes for extending Qt Designer. Classes for integrating online documen- Classes to handle the forms created in localizing applications: developers, translators and

tation into applications, similar to Qt Designer. release managers. qmake: QT += scripttools Number of classes or QML types Qt Assistant. qmlscene A utility that loads and displays QML documents even before the Title C++: #include Qt Assistant for viewing Qt documentation. You can application is complete. Embedded Brief description

qmake: CONFIG += designer qmake: QT += help qmake: QT += uitools also view documentation in Qt Creator. The docu- C++: #include C++: #include C++: #include Embedded Linux mentation installed with Qt 5 is displayed automati- windeployqt Designed to automate the process of creating a deployable folder that QNX 6.6.0, 7.0 qmake: Configure option cally in the Help mode (3), and you can add docu- contains all libraries, QML imports, plugins and translations that are INTEGRITY 11.4.x C++: Include for the module support ments to the list. required to run the application from that folder. QML: Import for the module support

Legal Disclaimer: While we have made every attempt to ensure that the information in this publication has been obtained from reliable sources, bbv Software Services (bbv) is not responsible for any errors or omissions, or for the results obtained from the use of this information. All information is provided with no guarantee of completeness or accuracy, and without warranty of any kind. In no event will bbv or its employees therefore be liable to you or anyone else for any decision made or action taken in reliance on the information in this publication. The information in this publication should not be used as a substitute for consultation with professional bbv advisors. Before making any decision or taking any action, you should consult a bbv professional. The names of actual companies and products (e.g. Qt, The Qt Company, Apple, Google, Microsoft, bbv Software Services) mentioned in this publication may be the trademarks of their respective owners. ©2017 bbv Software Services www.bbv.ch · [email protected]