Qt IVI

The Qt IVI (In-Vehicle Infotainment) module provides C++ classes and QML types for accessing vehicle features, as well as a core API for implementing new IVI features.

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.

The module 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.

Modules

Qt IVI consists of the following C++ modules:

QtIviCore

C++ classes for the Qt IVI Core API

QtIviMedia

C++ classes for the Qt IVI Media API

QtIviVehicleFunctions

C++ classes for the Qt IVI Vehicle Functions API

Qt IVI Core provides core base classes for the Qt IVI features, and handles the discovery of Qt IVI backend plugins. Application developers do not need to use Qt IVI Core directly. It is only needed when implementing a new IVI feature, such as Qt IVI Vehicle Functions ClimateControl.

Qt IVI Vehicle Functions provides interfaces to access vehicle features.

Qt IVI Media provides interfaces to access media related APIs e.g. Managing your music playlist or controlling the radio tuner.

The functionality provided by these modules is available to QML applications:

QtIvi

QML types for the Qt IVI Core API

QtIvi.Media

QML types for the Qt IVI Media API

QtIvi.VehicleFunctions

QML types for the Qt IVI Vehicle Functions API

Getting Started

Reference

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