Qt IVI

The Qt IVI (In-Vehicle Infotainment) module provides tooling and core classes for implementing interfaces to middleware services. The Qt IVI Autogenerator provides a flexible way to define new APIs in an IDL (interface definition language) and generate classes usable from C++ as well as from QML.

The module is built around a pattern based on the separation of API facing the application developer, the so called Feature, and the code implementing it, the Backend. There can be multiple backends per feature and the Core module provides support for finding the corresponding backend in an easy-to-use way.

Common use cases driving this separation are:

  • Early development, where the UI can rely on a feature with a very basic backend implementation.
  • Testing / Simulation, where the backends can be tested separately from the app and the app can be tested using a specialized testing backend.
  • Targets with different hardware configurations, where certain parts of the system are represented by simulated backends while others use a real hardware integration.
  • Dynamically appearing services, when services are available sometimes, but not always, meaning that backends come and go over time.

Important Topics

Getting Started

Reference API

In addition to the tooling an core APIs, the module also provides an extendable set of reference APIs for automotive features. It can be used to develop automotive applications and to provide automotive features to Qt-based applications in a structured manner. This reference API already contains so called "simulation backends" which provide partially simulated behavior of a real middleware service.

Getting Started with the Qt IVI Reference API

Reference

Licenses and Attributions

Qt IVI is available under commercial Qt Automotive Suite licenses. In addition, it is available under the GNU Lesser General Public License, version 3, or See Qt Licensing for further details.

Executables on Windows potentially link against The qtmain Library. This library is available under commercial licenses, and in addition under the BSD 3-clause "New" or "Revised" License.

Furthermore Qt IVI potentially contains third party modules under following permissive licenses:

© 2020 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.