Qt Automotive Suite Overview
Qt Automotive Suite includes several components built on Qt and the Qt Creator integrated development environment. The following picture illustrates the structure and environment of Qt Automotive Suite. The parts outlined in grey are specific to Qt Automotive Suite:
Qt Automotive Suite is built on top of the Qt for Device Creation offering. In addition to Qt, Qt for Device Creation contains an embedded development environment built around Qt Creator. Especially, Qt for Device Creation provides Boot to Qt, a light-weight software stack for embedded systems. It supports building your own Linux image for customizing the Boot to Qt stack.
Qt is a cross-platform Qt development framework that provides libraries and core tools, developed through an open-source collaboration model. Qt is designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms.
The Qt libraries provide high-level APIs for a large variety of both non-GUI and GUI related functionality. For UI creation, Qt provides a number of approaches: traditional C++, declarative UI design with Qt Quick or HTML5/hybrid user interfaces with the Qt WebEngine module.
For an overview of Qt libraries, see the Qt Reference Documentation.
Qt modules that are especially useful for embedded and IVI application development include:
- Qt Virtual Keyboard - complete virtual keyboard solution with word-prediction and multiple languages supported.
- Qt Quick Controls 2 - provides a set of controls for building complete user interfaces in Qt Quick.
- Qt Quick Compiler - enables compiling .qml source files into application binaries, improving load times and security for code assets.
- Qt WebEngine - provides a web browser engine based on the Chromium project.
The development environment in Qt Automotive Suite is built around Qt Creator. The following topics provide more information about Qt Creator as a development environment:
Qt Automotive Suite comes with additional functionality for diagnostics and debugging, as well as deployment:
GammaRay is a plugin for Qt Creator that provides software introspection for Qt applications. It allows visualization of application behavior and manipulating it at run-time, both locally and remotely on an embedded target.
QmlLive provides a live reloader environment for rapid development of Qt Quick applications, dramatically reducing the time it takes to deploy and test changes in the UI design.
The Qt Safe Renderer module provides a UI rendering component that can be used to render safety-critical items, such as warning indicators, in functional safety systems. Qt Safe Renderer separates the safety-critical rendering from the other parts of the system. This ensures that Qt Safe Renderer is able to render the safety-critical UI elements even if there are failures in the main UI. With separation, Qt can be used in a system requiring certification without changing the Qt libraries.
Qt 3D Studio is an artist-centric tool designed for designing and building rich interactive interfaces. Though there is a strong emphasis on 3D content - all objects are placed in three dimensional space - it is not a 3D content creation tool. It is also not a drawing program, though it uses 2D images and vectors heavily. Studio is a compositing tool.
You can create your 2D, 3D, and script assets in other programs and then use Qt 3D Studio to place them in your presentation.
Device deployment can be done directly from the Qt Creator IDE to a device connected via USB or local area network, or to an emulator running the same, full software stack as the devices.
As with any Qt application, the same project can be deployed to desktop or target devices as well.
The Qt IVI module provides C++ and QML interfaces for accessing vehicle features, and also enables implementing new IVI features. Already defined interfaces from the GENIVI alliance are exposed in the Qt GENIVI Extras module.
Qt Application Manager provides a basis for a multi-application embedded system. It takes care of the application lifecycle management. Qt Application Manager provides an API for implementing a UI and its application logic separately.
Qt Creator contains a Qt Application Manager plugin that facilitates the development of 3rd party applications within a Qt Application Manager setup by automating the underlying processes.
Qt Automotive Suite includes Neptune 3 UI that provides a UI implementation for Qt in IVI (In-Vehichle Infotainment) systems. It demonstrates best practices for developing an automotive UI with Qt Automotive Suite.
© 2018 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.