C
Qt Quick Ultralite Automotive Cluster Demo
Demonstrates integrating QML and C++, and also using 3rd party libraries.
Overview
This is a complex application that demonstrates many aspects of applications built with Qt Quick Ultralite:
- Integrating C++ business logic with QML applications
- Handling complex user interfaces by splitting into multiple QML components
- Using complex animations for best user experience without sacrificing performance
The central portion of the screen can switch between four different pages:
- Media Player
- Phone
- Turn-by-turn navigation
- Configuration
The pages and menus can be controlled by key input, using a keyboard on a desktop computer. They can also be controlled using the physical HMI knob and 4-way directional switch on the Renesas Mango main board:
Action | Desktop | RH850-D1M1A |
---|---|---|
Navigate up | Up key | Switch up |
Navigate down | Down key | Switch down |
Navigate left | Left key | Switch left |
Navigate right | Right key | Switch right |
Navigate next | Space key | Switch center press |
Next page | Page Up key | Knob right |
Previous page | Page Down key | Knob left |
Validate | Enter key | Knob press |
Target platforms
- RH850-D1M1A
- STM32F769i
- Infineon/Cypress Traveo II
Screenshots
Normal Mode
Sport Mode
Files:
- automotive/+imperial/SpeedLimitImage.qml
- automotive/+imperial/SpeedLimitValues.qml
- automotive/+imperial/Units.qml
- automotive/+metric/SpeedLimitImage.qml
- automotive/+metric/SpeedLimitValues.qml
- automotive/+metric/Units.qml
- automotive/BaseGauge.qml
- automotive/CMakeLists.txt
- automotive/CarStatus.qml
- automotive/DriveModeSelector.qml
- automotive/Gauge.qml
- automotive/GuideArrow.qml
- automotive/GuideArrowItem.qml
- automotive/LaneAssist.qml
- automotive/LaneAssistWhiteLine.qml
- automotive/LinearGauge.qml
- automotive/MediaPlayer.qml
- automotive/Menu.qml
- automotive/MiddleGauge.qml
- automotive/Navi.qml
- automotive/NormalMode.qml
- automotive/NormalModeContentItem.qml
- automotive/PerformanceMetricItem.qml
- automotive/PerformanceMetrics.qml
- automotive/Phone.qml
- automotive/SpeedWarningIndicator.qml
- automotive/SportGauge.qml
- automotive/SportMode.qml
- automotive/TellTales.qml
- automotive/TellTalesIndicator.qml
- automotive/TempGauge.qml
- automotive/automotive.qml
- automotive/imports/Automotive/MainModel.qml
- automotive/imports/Automotive/MathAPI.qml
- automotive/imports/Automotive/MediaPlayerModel.qml
- automotive/imports/Automotive/NaviModel.qml
- automotive/imports/Automotive/NormalModeModel.qml
- automotive/imports/Automotive/PhoneModel.qml
- automotive/imports/Automotive/SettingsMenuModel.qml
- automotive/imports/Automotive/SportModeModel.qml
- automotive/imports/Automotive/Style.qml
- automotive/imports/Automotive/TellTalesModel.qml
- automotive/imports/Automotive/qmldir
- automotive/qmlproject/automotive.qmlproject
- automotive/qmlproject/automotive_module.qmlproject
- automotive/qmlproject/automotive_tvii.qmlproject
- automotive/region/+de/Region.qml
- automotive/region/+usa/Region.qml
- automotive/src/3rdparty/etl/CMakeLists.txt
- automotive/src/3rdparty/etl/include/etl/algorithm.h
- automotive/src/3rdparty/etl/include/etl/alignment.h
- automotive/src/3rdparty/etl/include/etl/array.h
- automotive/src/3rdparty/etl/include/etl/container.h
- automotive/src/3rdparty/etl/include/etl/debug_count.h
- automotive/src/3rdparty/etl/include/etl/error_handler.h
- automotive/src/3rdparty/etl/include/etl/exception.h
- automotive/src/3rdparty/etl/include/etl/fnv_1.h
- automotive/src/3rdparty/etl/include/etl/frame_check_sequence.h
- automotive/src/3rdparty/etl/include/etl/function.h
- automotive/src/3rdparty/etl/include/etl/hash.h
- automotive/src/3rdparty/etl/include/etl/ihash.h
- automotive/src/3rdparty/etl/include/etl/integral_limits.h
- automotive/src/3rdparty/etl/include/etl/intrusive_forward_list.h
- automotive/src/3rdparty/etl/include/etl/intrusive_links.h
- automotive/src/3rdparty/etl/include/etl/iterator.h
- automotive/src/3rdparty/etl/include/etl/log.h
- automotive/src/3rdparty/etl/include/etl/map.h
- automotive/src/3rdparty/etl/include/etl/memory.h
- automotive/src/3rdparty/etl/include/etl/multimap.h
- automotive/src/3rdparty/etl/include/etl/nullptr.h
- automotive/src/3rdparty/etl/include/etl/optional.h
- automotive/src/3rdparty/etl/include/etl/parameter_type.h
- automotive/src/3rdparty/etl/include/etl/platform.h
- automotive/src/3rdparty/etl/include/etl/pool.h
- automotive/src/3rdparty/etl/include/etl/power.h
- automotive/src/3rdparty/etl/include/etl/private/ivectorpointer.h
- automotive/src/3rdparty/etl/include/etl/private/minmax_pop.h
- automotive/src/3rdparty/etl/include/etl/private/minmax_push.h
- automotive/src/3rdparty/etl/include/etl/private/pvoidvector.h
- automotive/src/3rdparty/etl/include/etl/private/vector_base.h
- automotive/src/3rdparty/etl/include/etl/profiles/arduino_arm.h
- automotive/src/3rdparty/etl/include/etl/profiles/armv5.h
- automotive/src/3rdparty/etl/include/etl/profiles/armv5_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/armv6.h
- automotive/src/3rdparty/etl/include/etl/profiles/armv6_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/clang_macos.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp03.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp03_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp11.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp11_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp14.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp14_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp17.h
- automotive/src/3rdparty/etl/include/etl/profiles/cpp17_no_stl.h
- automotive/src/3rdparty/etl/include/etl/profiles/etl_profile.h
- automotive/src/3rdparty/etl/include/etl/profiles/gcc_generic.h
- automotive/src/3rdparty/etl/include/etl/profiles/gcc_linux_x86.h
- automotive/src/3rdparty/etl/include/etl/profiles/gcc_windows_x86.h
- automotive/src/3rdparty/etl/include/etl/profiles/ghs_v850.h
- automotive/src/3rdparty/etl/include/etl/profiles/msvc_x86.h
- automotive/src/3rdparty/etl/include/etl/profiles/segger_gcc_stlport.h
- automotive/src/3rdparty/etl/include/etl/profiles/ticc.h
- automotive/src/3rdparty/etl/include/etl/smallest.h
- automotive/src/3rdparty/etl/include/etl/static_assert.h
- automotive/src/3rdparty/etl/include/etl/stl/algorithm.h
- automotive/src/3rdparty/etl/include/etl/stl/alternate/algorithm.h
- automotive/src/3rdparty/etl/include/etl/stl/alternate/functional.h
- automotive/src/3rdparty/etl/include/etl/stl/alternate/iterator.h
- automotive/src/3rdparty/etl/include/etl/stl/alternate/limits.h
- automotive/src/3rdparty/etl/include/etl/stl/alternate/utility.h
- automotive/src/3rdparty/etl/include/etl/stl/functional.h
- automotive/src/3rdparty/etl/include/etl/stl/iterator.h
- automotive/src/3rdparty/etl/include/etl/stl/limits.h
- automotive/src/3rdparty/etl/include/etl/stl/utility.h
- automotive/src/3rdparty/etl/include/etl/type_traits.h
- automotive/src/3rdparty/etl/include/etl/unordered_map.h
- automotive/src/3rdparty/etl/include/etl/unordered_multimap.h
- automotive/src/3rdparty/etl/include/etl/vector.h
- automotive/src/canbus/CMakeLists.txt
- automotive/src/canbus/canbusdevice.h
- automotive/src/canbus/qt/CMakeLists.txt
- automotive/src/canbus/qt/canbusdevice.cpp
- automotive/src/canbus/rh850-d1m1a-baremetal/CMakeLists.txt
- automotive/src/connectivityservice.cpp
- automotive/src/connectivityservice.h
- automotive/src/hmi_input/CMakeLists.txt
- automotive/src/hmi_input/hmi_input.cpp
- automotive/src/hmi_input/hmi_input.h
- automotive/src/hmi_input/hmi_input_event.h
- automotive/src/hmi_input/rh850-d1m1a-baremetal/CMakeLists.txt
- automotive/src/hmi_input/rh850-d1m1a-baremetal/rh850.cpp
- automotive/src/mathutils.h
- automotive/src/platform/baremetal/main.cpp
- automotive/src/simulation/drivestates.cpp
- automotive/src/simulation/drivestates.h
- automotive/src/simulation/drivetrain.cpp
- automotive/src/simulation/drivetrain.h
- automotive/src/simulation/lights.cpp
- automotive/src/simulation/lights.h
- automotive/src/simulation/smfwd.h
- automotive/src/simulation/speedlimits.cpp
- automotive/src/simulation/speedlimits.h
- automotive/src/simulation/stateid.h
- automotive/src/simulation/states.cpp
- automotive/src/simulation/states.h
- automotive/src/simulationcontroller.cpp
- automotive/src/simulationcontroller.h
- automotive/src/statemachine.h
Images:
- automotive/images/airbag.png
- automotive/images/albums/ak.png
- automotive/images/albums/juno.png
- automotive/images/albums/phazz.png
- automotive/images/albums/thievery-corp.png
- automotive/images/albums/tycho.png
- automotive/images/arrow-0.png
- automotive/images/arrow-45.png
- automotive/images/arrow-90.png
- automotive/images/arrow-round.png
- automotive/images/assets-phone-list-pseudo-mask.png
- automotive/images/battery.png
- automotive/images/beam.png
- automotive/images/bg-mask.png
- automotive/images/car-highlights.png
- automotive/images/clock.png
- automotive/images/fuel.png
- automotive/images/gauge-gauge-frame-sport-center.png
- automotive/images/gauge-gauge-frame-sport-side.png
- automotive/images/gauge-gauge-frame.png
- automotive/images/gauge-normal.png
- automotive/images/high-beams.png
- automotive/images/highlight-big-sport.png
- automotive/images/highlight-normal.png
- automotive/images/highlight-standard-sport.png
- automotive/images/leaf.png
- automotive/images/navi.png
- automotive/images/needle-normal.png
- automotive/images/needle-standard-sport.png
- automotive/images/oil-temp.png
- automotive/images/parked.png
- automotive/images/phone.png
- automotive/images/photos/aryn.png
- automotive/images/photos/beatriz.png
- automotive/images/photos/caspar.png
- automotive/images/photos/hirini.png
- automotive/images/photos/joslin.png
- automotive/images/play.png
- automotive/images/pseudo-mask-vertical.png
- automotive/images/ready.png
- automotive/images/red-border-left.png
- automotive/images/red-border-right.png
- automotive/images/road.png
- automotive/images/setup.png
- automotive/images/speed-limit-warning.png
- automotive/images/speed-limit-warnings/140.png
- automotive/images/speed-limit-warnings/20mph.png
- automotive/images/speed-limit-warnings/30.png
- automotive/images/speed-limit-warnings/35mph.png
- automotive/images/speed-limit-warnings/45mph.png
- automotive/images/speed-limit-warnings/50.png
- automotive/images/speed-limit-warnings/55mph.png
- automotive/images/speed-limit-warnings/70.png
- automotive/images/speed-limit-warnings/85mph.png
- automotive/images/speed-limit-warnings/90.png
- automotive/images/sport.png
- automotive/images/top-line.png
- automotive/images/turn_left.png
- automotive/images/turn_right.png
- automotive/images/white-line-left.png
- automotive/images/white-line-right.png
Available under certain Qt licenses.
Find out more.