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 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:
- Added the instrument_cluster example.
- Added benchmark mode to the automotive and thermo. demos. Added Qt Quick Ultralite Profiling QML Types module for benchmark mode.
- 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.
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:
currentCpuload : real |
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 | |
Changes in v2.6.0 | |
Changes in v2.7.0 |
Available under certain Qt licenses.
Find out more.