C

What's New in 2.8

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

Important changes

Removed options from platformexporter

The following command-line options are removed from the from the platform exporter tool and similar options are added to the qmlprojectexporter instead:

platformexporterqmlprojectexporter
buildirqul-build-dir
outputformat--project-type
sdkdir--board-sdk
IDEsourcedir--ide-sources-outdir
includeIDEgeneratedHWCodeinclude-ide-generated-hw-code
outdir--platform-outdir

For more information about exporting a platform using the qmlprojectexporter, see Exporting a Qt for MCUs project with platform sources.

New features

  • Reduce memory footprint of generated code by using static const arrays and loops to set constant property values.
  • Optimize image assets by rotating them before based on the display rotation angle, avoiding the overhead of rotating them at runtime.
  • Added support for acquiring licenses from the license servers.
  • Upgrades:
    • STM32F469-Discovery SDK v1.28.0.
    • MIMXRT1050-EVK, MIMXRT1060-EVK, MIMXRT1064-EVK, and MIMXRT1170-EVKB SDK v2.15.000.
    • ARMGCC compiler 12.3.rel1.
    • Embedded Template Library (ETL) v20.38.10.
    • Renesas RA6 and RA8 FSP to 5.2.0.
    • FreeRTOS v10.6.1 on Renesas EK-RA6M3G.
    • TRAVEO T2G Cluster Series to graphics driver V2.3.0.
    • FreeType version 2.13.2.
    • Monotype Fontmap editor version 3.1.1.
  • Added Monotype FontmapEditor support to reduce the font file size by removing the unused glyphs.
  • Added the QtQuick.Layouts module with GridLayout QML type.
  • qmlprojectexporter:
    • Added --parallel and -j command-line options to parallel process the QML files.
    • Added CMSIS pack generator to enable generating a package of the platform sources.
    • Extended support for CMake projects to include the complete application either with or without the platform sources.
  • Added support for hardware accelerated JPEG decoding for Traveo T2G (6M).
  • Added support for Traveo T2G 4M Lite.
  • Added bitwise operator support to qmltocpp, enabling the use of bitwise OR (|) operator in QML.
  • Added virtual keyboard support with the QtQuick.VirtualKeyboard module (Technology Preview).

Fixed issues

Qt for MCUs v2.8.2

  • Fixed the qulrcc host tool to render sprite animations correctly when display rotation is set.
  • Fixed the devicelink protocol support to make sure it properly handles display rotation for screenshots and touch input.
  • Fixed crashes and invalid rendering when screen rotation is used and root item size is smaller than the screen size.
  • Fixed the incorrect rendering of Rectangle with gradient when display rotation is used.
  • Fixed a potential crash or memory corruption when touch was held by an Item that got destroyed.
  • Fixed a crash that happened when the fallback drawing engine was used for path blending on a DrawingDevice with format PixelFormat_ARGB32 or PixelFormat_ARGB4444.
  • Fixed a potential crash that could happen when using multi-line StaticText with horizontal alignment and display rotation.
  • Fixed AnimatedSpriteDirectory to show correctly when display rotation is used.
  • Fixed a crash that happened when Image with a dynamic source property was unloaded.
  • Fixed auto-wrapped text to honor Text.horizontalAlignment.
  • Fixed ARM NEON code in drawhelper.h.
  • Improved performance by preventing duplicate text metrics computation when a Text element has elide or word wrap set.
  • Fixed the Infineon TRAVEO T2G CYT3DL platform to report an error instead of crashing when trying to allocate from an uninitialized HyperRAM.
  • Fixed a crash in the RH850 platform that happened when using Shapes or ArcItem APIs in an ItemLayer with depth set to Bpp32Alpha.
  • Fixed the directory property in files nodes to take file selectors into account when exporting a qmlproject file.
  • Fixed the Layouts module export for qmlprojectexporter.
  • Fixed qmltocpp to prevent rebuilding of all QML files when only a single one changes, by not overwriting existing source files when their contents haven't changed.
  • Fixes to examples and demos:
    • Fixed the missing error code return value from tvii_convert_decoded_buffers for Infineon TRAVEO T2G in the imagedecoder example.
    • Fixed the thermo-benchmark demo by adding a missing compile definition.
  • Loader fixes:
    • Fixed a compiler error with Green Hills 2015.1.7 that happened when Component was used with Loader from QML.
    • Fixed a crash that happened when a Loader with a dynamic source or source component property got destroyed.
  • SwipeView fixes:
    • Fixed SwipeView animations to always finish at target index when manually setting currentIndex, or using SwipeView.incrementCurrentIndex() or SwipeView.decrementCurrentIndex().
    • Fixed SwipeView setCurrentIndex() to work correctly with MouseArea.
  • Text cache fixes:
    • Fixed single-glyph Text items to be cached correctly when the text cache is enabled using the Monotype Spark font engine.
    • Improved performance by freeing old text cache entries to make space for new ones to fully utilize the text cache.

Qt for MCUs v2.8.1

  • Fixed screen flickering artifacts on the STM32F769I-DISCOVERY and STM32H750B-DISCOVERY boards caused by LTDC underruns if the FMC controller is blocked.
  • Fixed qulrcc to estimate correct resource cache size for sprite animations.
  • Fixed error using certain TrueType fonts with the Spark font engine.
  • Fixed potential compile error about incomplete type when sub-classing PaintedItemDelegate.
  • Optimized the rendering stack to pre-rotate alpha maps when screen rotation is enabled. This avoids the need to rotate and blend alpha maps at runtime.
  • Fixed the platform port for Infineon TRAVEO™ T2G, to avoid delaying layer animation if refresh intervals is too high.
  • Fixed animation logic to avoid restarting running animations on calling start().
  • qmltocpp fixes:
    • Use the same convention as lupdate to extract the context name for translatable units in the *.ui.qml files.
    • Generate correct C++ code for ScriptAction instances within the scope of a Loader or lRepeater.
    • Remove unnecessary call to update() while generating code for StaticText instances.
  • qmlprojectexporter fixes:
    • Add --parallel and -j command-line options to parallel process the QML files. You can also define the no. of parallel jobs using the CMAKE_BUILD_PARALLEL_LEVEL environment variable.
    • Fix crash due to resourceCompression enabled in a module qmlproject file and not in the main qmlproject file.

Qt for MCUs v2.8.0

  • Fixes to the fontcompiler:
    • Generate quality glyph alphamaps on both Linux and Windows hosts.
    • Reduce QulFontResourceData size slightly.
  • Fixes to qmltocpp:
    • Fix crash on accessing object aliases from other QML files.
    • Improve anchor binding inside the inline component when it is used as a sourceComponent for Loader.
    • Check if a custom property of type Component is used as a binding for Loader::{souceComponent} to avoid a crash.
    • Make parent property available to the inline component declaration object to avoid a crash.
    • Qualify type with its module name when using it outside its module.
    • Avoid using uninitialized values when generating anchors.
  • Fixed error loading the QtQuick.Controls module with generateQmltypes enabled. If qmlprojectexporter can't find such modules, use the --qml-mappings-dir argument to provide more information.
  • Fixed compilation errors in the interface files when using C++ features from the chosen C++ standard for the project. For example, if CMAKE_CXX_STANDARD is set to 17, it should also be forwarded to qmlprojectexporter.
  • Reduced the stack memory usage for blending the transformed images. The intermediate buffers are now allocated on the heap when needed.
  • Fixed layer positioning when display rotation angle is set to 90 or 270.
  • Wait for interrupts instead of busy looping exec() to sync with the GPU.
  • qmlprojectexporter fixes:
    • Fixed the order of include paths passed to qmltocpp.
    • Include the Shapes, Timeline, StudioComponents module in the default search path.
  • Fixed off by one error when allocating block size for images.
  • Fixed transformation support to not ignore ItemBuffers.
  • Fixes to examples and demos:
    • Fixed the watch demo (debug build) crash on STM32F769NI when built using the IAR toolchain.
    • Fixed linking errors when building the image_cache example for Renesas RH850 on AUTOSAR.
  • Fixed image decoder to avoid a crash on STM when images are smaller than the input buffer.
  • Fixed stack overflow with a debug build using the IAR toolchain.

New APIs

APIs for application development

New QML Types

New QML Properties

QML Type Qt:

(since Qt Quick Ultralite 2.8) AlignmentFlag : enumeration

APIs for platform development

Changes in Previous Versions

Available under certain Qt licenses.
Find out more.