What's New in 1.7

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

  • Clang dependency has been removed - it doesn't need to be present in the system PATH any more.
  • toFixedInt() and toExponentialAuto() are deprecated. Use toFixed() and toExponential() instead.
  • Animations that finish instantly (like ScriptAction or PropertyAnimations with a zero duration) will no longer loop even if the loop property is set. This ensures that Qt Quick Ultralite aligns with Qt Quick.
  • Platform::frameBufferingType() now takes an ItemLayer pointer argument instead of a Screen pointer.

New features

  • Added Application and Screen QML types to enable multi-screen applications if the platform supports it. They let you specify the background color of the Screen, when using partially transparent layers or layers that do not cover the entire screen.
  • Added ItemLayer, ImageLayer, and SpriteLayer QML APIs to support hardware layers on platforms that provide such feature. In addition, added the LayerEngine platform abstraction API, and a reference implementation for Renesas RH850-D1M1A.
  • Support for perspective transformations in 2D space has been added to the Qt Quick Ultralite engine. The new Matrix4x4 type can be used with the transform property of Image, Text, and StaticText. These transformations are hardware-accelerated when the platform supports it, otherwise a software fallback is used. The perspective transforms example demonstrates this feature by implementing a 3D-like cover flow.
  • Added runtime binding support for font properties when the Spark font engine is used.
  • Added support for the ARGB4444 image format to reduce storage requirements for semi-transparent images.
  • Qt Quick Ultralite applications can now be built as a static library using the new convenience qul_add_target CMake function combined with the STATIC_LIBRARY option. This can ease the integration of Qt Quick Ultralite GUIs into larger projects or when CMake is not used to build the complete application.

Fixed issues

  • [QTMCU-15] SwipeView animation behavior has been improved. Page changes are now animated when the currentIndex property is programatically changed and animations correctly run until the end when touch input is released.
  • Fixed build errors when animating bool and string properties in a PropertyAnimation.
  • The linker script does not pollute global linker flags anymore. Targets in your project that do not use Qt Quick Ultralite will not be affected by Qt for MCUs' linker script.
  • Fixed visual glitches on STM32F769i-discovery when using the Monotype Spark font engine. This was done by moving the Monotype Spark font file to QUL_STATIC_NO_PRELOAD_ASSET_SEGMENT from QUL_STATIC_ASSET_SEGMENT. As a result the font file is kept in flash instead of being copied to RAM on application startup.
  • Fixed visual glitches in the listmodel example on STM32F769i-discovery, the chess example on STM32H769B-discovery, and the motor_cluster demo on RH850-D1M1A.

Other changes

  • External tools required to flash applications on NXP and STM32 board from Qt Creator or when using the provided CMake flash target are now available for download in the Qt Installer. MCUXpresso IDE and STM32CubeProgrammer can be found under the Qt for MCUs: Third-party Tools and SDKs category.

New APIs

APIs for application development

New QML Types

New QML Methods

matrix4x4 matrix4x4(real m11, real m12, real m13, real m14, real m21, real m22, real m23, real m24, real m31, real m32, real m33, real m34, real m41, real m42, real m43, real m44)

APIs for platform development

New Classes

New Member Functions

Class Screen:

Qul::PlatformInterface::Rgba32 backgroundColor() const
void setBackgroundColor(Qul::PlatformInterface::Rgba32 color)

Class Texture:

Qul::PlatformInterface::Size size() const

New Global Functions

PlatformInterface::DrawingDevice *beginFrame(const PlatformInterface::LayerEngine::ItemLayer *layer, const PlatformInterface::Rect &rect, int refreshInterval = 1)
PlatformInterface::LayerEngine *layerEngine()

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

Available under certain Qt licenses.
Find out more.