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:

status : enumeration

QML Type QulPerf:

averageCpuLoad : real
averageFps : real
maxHeapUsage : int
maxStackUsage : int
minimumFps : real
recording : bool
totalFrames : int

QML Type Qulperf:

QML Type Text:

textFormat : enumeration

APIs for platform development

New Classes

New Member Functions

Class PerformanceMetrics:

virtual float cpuLoad()
virtual uint64_t maxHeapUsage()
virtual uint64_t maxStackUsage()

Class PlatformContext:

virtual Platform::PerformanceMetrics *performanceMetrics()

Changes in Previous Versions

What's New in 1.1

Changes in v1.1.0

What's New in 1.2

Changes in v1.2.0

What's New in 1.3

Changes in v1.3.0

What's New in 1.4

Changes in v1.4.0

What's New in 1.5

Changes in v1.5.0

What's New in 1.6

Changes in v1.6.0

What's New in 1.7

Changes in v1.7.0

What's New in 1.8

Changes in v1.8.0

What's New in 1.9

Changes in v1.9.0

What's New in 2.0

Changes in v2.0.0

What's New in 2.1

Changes in v2.1

What's New in 2.2

Changes in v2.2

What's New in 2.3

Changes in v2.3

What's New in 2.4

Changes in v2.4.0

What's New in 2.5

Changes in v2.5

What's New in 2.6

Changes in v2.6.0

What's New in 2.7

Changes in v2.7.0

Available under certain Qt licenses.
Find out more.