Qt application model

QNX CAR 2.1 includes the runtime binaries for version 5.2 of the Qt framework as well as several Qt-compliant libraries that allow HMI apps to access middleware services.

Developers can write apps that use the Qt framework to specify their GUIs and use the Qt-compliant libraries to access many middleware services. These services include but aren't limited to:

Figure 1. Qt application model

As Figure 1 illustrates, Qt apps access middleware services through Qt5 interfaces in their source files. These interfaces are exposed by Qt libraries and consist of C++ classes that manage services such as media, navigation, radio, and phone. Each app links in its own copy of any required Qt libraries, which talk directly to middleware services (e.g., mm-player, QDB) through their C APIs or PPS. The platform ships with these Qt-compliant libraries:

QPlayer
Integrates apps with the platform's media browsing and playback engine, mm-player, by providing a Qt5 API that wraps the mm-player C library.
QtQnxCar2
Provides controls for configuring all other middleware services (e.g., navigation, vehicle sensors, ASR) and for accessing QDB databases.
QPPS
Provides a Qt5 API for reading from and writing to PPS objects, replacing the POSIX API for PPS. The QtQnxCar2 library uses the QPPS library, but apps can also use the QPPS library directly.

You can find full details on these libraries in the Qt Development Environment guide.