C

What's New in 2.9

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:

New features

  • QtQuick.VirtualKeyboard is upgraded to a fully-supported module. For more information, see Qt Quick Ultralite Virtual Keyboard Overview.
  • Support for Linux and Zephyr OS targets.
  • Added list, point, and rect QML basic types.
  • Added the following members to Item QML type:
  • Added the following members to ListView QML type:
  • Added the following member to font QML basic type:
  • Added JavaScript string functions, toUpperCase() and toLowerCase().
  • qmltocpp updates:
    • Reduce memory footprint by avoiding subclass wherever possible, and reorder member variables based on alignment.
    • Rebuild the updated QML files only, to avoid overwriting files that are not changed.
  • Added support for BGR888 pixel format.
  • Added drawing engine initialization CPU fallback functions for each pixel format.
  • Added JPEG support to RH850 platforms. The Sprite animation and image decoder examples use the hardware JPEG unit(JCUA) for decoding images on this platform.
  • qmlprojectexporter updates:
    • Support to include BinaryFiles in a QmlProject, and accessed using the BinaryResource API.
    • Support for exporting default variants of demos, examples, and tests without using a file selector.
    • Added MCU.Config.vkbPinyinDictionary config to support customizing the Pinyin dictionary data with Pinyin Support.
  • SDK, compiler, and graphics driver upgrades:
    • STM32F469i-discovery SDK v1.28.1
    • STM32H750b-discovery SDK v1.11.2
    • STM32F769i-discovery SDK v1.17.2
    • MIMXRT1050-EVK, MIMXRT1060-EVKB, MIMXRT1064-EVK, and MIMXRT1170-EVKB SDK v2.16.000.
    • TRAVEO T2G CYT3DL, CYT4DN, and CYT4EN platforms graphics driver upgrade for TRAVEO T2G Cluster Series v2.4.0.
    • STM Cube Programmer v2.17.0
    • QLS 3.2.1
    • FreeType v1.13.3
    • LodePNG v20241015
  • Examples and demos:
    • Rename freertos_multitask to multitask and port to Zephyr. It now demonstrates how to do multi-threading on Zephyr.
    • Ported the imagedecoder and sprite_animations examples to Renesas RH850.
  • Added the QtQuickUltralite.SafeRenderer QML module

Fixed issues

  • Fixed platform port for some targets to avoid using more stack memory while blending transformed images. The size of intermediate buffers has been reduced and they are now allocated on the heap instead when needed.
  • Fixed qmlprojectexporter to avoid creating too many parallel jobs by default.
  • qmltocpp fixes:
    • Initialize binding objects first to avoid memory corruption when calling Property::value() in the destructor of a property with the binding.
  • Fixed crash when using fallback drawing engine to blend path on a DrawingDevice with either PixelFormat_ARGB32 or PixelFormat_ARGB4444 pixel formats.
  • Fixed Green Hills compiler (version 2015.1.7) failing to compile code for a Component with Loader from QML.
  • Fixed potential crash when using multi-line StaticText with horizontal alignment and display rotation.
  • Fixed error on Infineon TRAVEO T2G when trying to allocate memory from HyperRAM that is not initialized.
  • Improved performance by avoiding duplication of text metric computation for a Text item with either elide or word wrap set.
  • Fixed incorrect rendering of sprite animations when display rotation is set.
  • Fixed performance issue because of not removing the old entries. Qt Quick Ultralite removes these old entries now from the cache to make space for new ones.
  • Fixed text caching to make sure items with a single glyph are also cached when using the Monotype Spark engine.
  • Fixed crash on unloading an Image with dynamic source property.
  • Fixed qulrcc to estimate correct resource cache size for sprite animations.
  • Replaced the Qt prefix used for orientation and PositionMode enum to ListView. This improves compatibility with ListView in Qt.
  • 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 SwipeView to make sure its currentIndex is reset to the beginning when it is at the max. This should enable to have a carousel effect, where the the view shows the first item after the last item.
  • Fixed potential crash or memory corruption on destroying an Item that has the touch.
  • Fixed incorrect rendering of Rectangle with gradient, when using display rotation.
  • Fixed crash when using QtQuick.Shapes or ArcItem in an ItemLayer with Bpp32Alpha as color depth.
  • Fixed crash when a Loader with a dynamic source or source component property gets destroyed
  • Fixed SwipeView animations that do not end at the target index in some cases. This happens on setting currentIndex either to a specific value, or calling incrementCurrentIndex() or decrementCurrentIndex().

New APIs

APIs for application development

New Classes

New Member Functions

Class BinaryResource:

size_t alignment() const
const uchar *data() const
size_t size() const

New QML Types

New QML Properties

QML Type ListView:

count : int
currentIndex : int
highlight : Component

QML Type Item:

activeFocus : Item

New QML Methods

QML Type Qt:

point point(real x, real y)
point rect(real x, real y, real width, real height)

QML Type ListView:

int indexAt(real x, real y)
positionViewAtIndex(int index, PositionMode mode)

APIs for platform development

New Global Functions

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

What's New in 2.8

Changes in v2.8.0

Available under certain Qt licenses.
Find out more.