C

What's New in 2.6

Qt Quick Ultralite maintains source compatibility between minor releases. However, some changes may require you to adapt the application code. The following sections highlight such changes:

Important changes

  • Upgraded NXP RT1170 board version from MIMXRT1170-EVK to MIMXRT1170-EVKB. The platform name for this target is now mimxrt1170-evkb-freertos instead of mimxrt1170-evk-freertos.
  • Qt for MCUs SDK includes the Desktop simulator sources, enabling you to customize and build it for host platforms that are not supported.

New features

  • Added the Loader.status property to indicate progress of loading an item.
  • Added the PerformanceMetrics API to enable logging performance data for a platform. Refer to Implementing performance metrics platform APIs for more information.
  • Added the QulResourceDataInSemperFlash resource storage section for Traveo II 4M board.
  • Added qsTrId() to support text translations based on ID. Refer to Text ID based translations for more information.
  • Added C-Linkage functions to control initialization and Qt Quick Ultralite engine scheduling for applications built as a static library.
  • Upgrades:
    • IAR compiler version 9.40.1
    • LodePNG version 20230410
    • STM32 F7 SDK v1.17.1
    • STM32 H7 SDK v1.11.1
    • STM Cube Programmer v2.14.0
    • Flexible Software Package(FSP) v4.5.0 for Renesas EK-RA6M3G
    • MCUXPresso SDK 2.14.0
    • MCUXPresso IDE v11.8
  • qmlprojectexporter updates:
    • Override the default behavior of exporting the platform sources using the --export-platform command-line option.
    • Added the --update-project command-line option to enable updating an existing GHS Multi IDE project that already includes Qt Quick Ultralite platform and UI sources. Refer to Updating an existing project for more information.
    • Added the --extend-project command-line option to enable adding the Qt Quick Ultralite platform and UI sources to an existing 3rd party GHS Multi IDE project. Refer to Extending a GHS project for more information.
    • Generate a GHS Multi IDE workspace file to enable easier integration.
    • Improve compile times for applications with a lot of image resources.
  • Added AUTOSAR support for Renesas RH850 D1M1A board.
  • Examples and demos:
  • Easing curves:
  • Added String.arg() API and object alias properties support in QML.
  • Added new properties to QulPerf, enabling you to collect more performance metrics.
  • Added the Filesystem platform API (Technology preview) to enable access to images on the filesystem with the file:// scheme prefix. The fileloading example demonstrates how to use the file:// scheme prefix, and integrate a custom filesystem implementation on the STM, NXP, and Desktop platforms.
  • Added textFormat property to support plain and rich-text.
  • Added the qul_override_freertos_heap_size CMake macro to enable define or override the freeRTOS total heap size, if already defined in application's CMakeLists.txt.

Fixed issues

Qt for MCUs v2.6.1

  • Fixed compilation errors because of parsing the QulPerf::maxHeapUsage and QulPerf::maxStackUsage property types as bytes instead of int.
  • Fixed GCC v12 compiler and linker warnings on STM32 platforms.
  • Fixed wrong positioning and rendering glitches with transformed text because of one pixel offset.
  • Fixed CMake logic to report useful error messages if qmlprojectexporter fails due to missing dependencies.
  • Updated the FreeType rasterizer to support the ARGB32_Premultiplied and ARGB4444_Premultiplied formats.
  • Fixed GHS 2018 compiler warnings while building for Renesas RH850.
  • Fixed the heap structure field for thermo_demo (benchmark mode) on IAR baremetal platforms, to avoid wrong heap usage report.
  • Fixed implementation for Item to make sure the visibility updates consider the property binding on its visible property.
  • Fixed SharedImage to make sure it does not use references to the destroyed images.
  • Fixed the software renderer to report error on using an unknown image format.
  • Fixed the ImageLayer implementation to avoid invalid memory access, which could crash the application.
  • ShapePath fixes:
    • Use the default value (1) for strokeWidth when it is 0. This improves code compatibility with Qt.
    • Fix blending of paths when QUL_COLOR_DEPTH is set to 8
  • qmlprojectexporter fixes:
    • Warn if the TranslationFiles.MCU.omitSourceLanguage QmlProject property is not true when using ID-based translation.
    • Recursively search import paths for module .qmlproject files.
    • Collect font files from the modules.
  • qmltocpp fixes:
    • Consider when conditions for default states.
    • Apply transition animation to default states too.
    • Accept object pointer in function arguments.
    • Fix the handling of visibility property based on state changes.
    • Handle a user-defined state with an empty string ("") name, so that it is not considered as default.
    • Warn about required properties with unknown type.
    • Use the same convention as "lupdate" to extract the context name for translatable units in *.ui.qml files.

Qt for MCUs v2.6.0

  • Fixed assert and UI artifacts when rendering RTL text that is elided and not aligned to the left.
  • Fixed spacing between text lines to make sure they are rendered as intended by the chosen font.
  • Fixed state update issues with the Spark font engine if MCU.Config.fontVectorOutlinesDrawing is enabled.
  • Fixed SwipeView behavior to make sure that enabling and disabling view is propagated to its children too.
  • qmltocpp updates:
    • Generate valid C++ code for quoted string literals.
    • Optimize code generation for Loader to reduce memory footprint.
  • Examples and demos:
    • Reduced color depth for watch demo to avoid flickering UI artifacts on STM32H750B-discovery board when built with IAR.
    • motor_cluster demo:
      • Added start-up animation
      • Fixed a regression that lead to UI freeze on Traveo II.
      • Updated the overlaid FPS metrics.
    • Updated the thermo demo to use the id-based translation API.
    • automotive demo:
      • Used Loader to reduce memory footprint.
      • Fixed rendering artifacts if images are compressed using RLE method.
    • Fixed the thermo demo to avoid performance issues on FreeRTOS with STM32F769.
    • Updated the translation example to use text with inline images.
  • Optimized texture generation for sprite animations.
  • Fixed unexpected data binary size on enabling cropping optimization.
  • Fixed qmlprojectexporter file selector logic when the --selector command-line option is used.
  • Updated the build config to copy the asset data binary and text files to the build directory. This is useful if you are building the application as a static library.

New APIs

APIs for application development

New QML Types

New QML Properties

QML Type Loader:

(since Qt Quick Ultralite 2.6) status : enumeration

QML Type QulPerf:

(since Qt Quick Ultralite 2.6) averageCpuLoad : real
(since Qt Quick Ultralite 2.6) averageFps : real
(since Qt Quick Ultralite 2.6) maxHeapUsage : int
(since Qt Quick Ultralite 2.6) maxStackUsage : int
(since Qt Quick Ultralite 2.6) minimumFps : real
(since Qt Quick Ultralite 2.6) recording : bool
(since Qt Quick Ultralite 2.6) totalFrames : int

QML Type Text:

(since Qt Quick Ultralite 2.6) textFormat : enumeration

APIs for platform development

New Classes

New Member Functions

Class PerformanceMetrics:

(since Qt Quick Ultralite (Platform) 2.6) virtual float cpuLoad()
(since Qt Quick Ultralite (Platform) 2.6) virtual uint64_t maxHeapUsage()
(since Qt Quick Ultralite (Platform) 2.6) virtual uint64_t maxStackUsage()

Class PlatformContext:

(since Qt Quick Ultralite (Platform) 2.6) virtual Qul::Platform::PerformanceMetrics *performanceMetrics()

Changes in Previous Versions

Available under certain Qt licenses.
Find out more.