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:
platformexporter | qmlprojectexporter |
---|---|
buildir | qul-build-dir |
outputformat | --project-type |
sdkdir | --board-sdk |
IDEsourcedir | --ide-sources-outdir |
includeIDEgeneratedHWCode | include-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
- 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.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.
- Use the same convention as
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 theCMAKE_BUILD_PARALLEL_LEVEL
environment variable. - Fix crash due to resourceCompression enabled in a module
qmlproject
file and not in the mainqmlproject
file.
- Add
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 toqmlprojectexporter
. - 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 the order of include paths passed to
- 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:
AlignmentFlag : enumeration |
APIs for platform development
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.