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 ofmimxrt1170-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 a GHS 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:
- Added the instrument_cluster example.
- Added benchmark mode to the automotive and thermo demos. Added Qt Quick Ultralite Profiling QML Types module for displaying performance metrics.
- Added the fileloading example, demonstrating the use of
file://
scheme prefix for image file path.
- Easing curves:
- Added support for the
Easing.*Elastic
,Easing.*Back
, andEasing.*Bounce
easing curve types. - Added support for custom easing curves using the bezierCurve property Easing.BezierSpline type.
- Added support for the
- 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 thefile://
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 ofint
. - 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
andARGB4444_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.
- Warn if the TranslationFiles.MCU.omitSourceLanguage QmlProject property is not
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.
- Consider
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.
- Fixed incorrect frame width and height for animated sprites.
- Fixed unknown artifacts on resizing the window on Desktop platform. The window size is fixed now and it cannot be resized.
New APIs
APIs for application development
New QML Types
New QML Properties
QML Type Loader:
status : enumeration |
QML Type Qulperf:
currentCpuload : real |
QML Type QulPerf:
averageCpuLoad : real | |
averageFps : real | |
maxHeapUsage : int | |
maxStackUsage : int | |
minimumFps : real | |
recording : bool | |
totalFrames : int |
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
Changes in v1.1.0 | |
Changes in v1.2.0 | |
Changes in v1.3.0 | |
Changes in v1.4.0 | |
Changes in v1.5.0 | |
Changes in v1.6.0 | |
Changes in v1.7.0 | |
Changes in v1.8.0 | |
Changes in v1.9.0 | |
Changes in v2.0.0 | |
Changes in v2.1 | |
Changes in v2.2 | |
Changes in v2.3 | |
Changes in v2.4.0 | |
Changes in v2.5 |
Available under certain Qt licenses.
Find out more.