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.2
- Fixed the
qulrcc
host tool to render sprite animations correctly when display rotation is set. - Fixed the devicelink protocol support to make sure it properly handles display rotation for screenshots and touch input.
- Fixed crashes and invalid rendering when screen rotation is used and root item size is smaller than the screen size.
- Fixed the incorrect rendering of Rectangle with gradient when display rotation is used.
- Fixed a potential crash or memory corruption when touch was held by an Item that got destroyed.
- Fixed a crash that happened when the fallback drawing engine was used for path blending on a
DrawingDevice
with formatPixelFormat_ARGB32
orPixelFormat_ARGB4444
. - Fixed a potential crash that could happen when using multi-line StaticText with horizontal alignment and display rotation.
- Fixed AnimatedSpriteDirectory to show correctly when display rotation is used.
- Fixed a crash that happened when
Image
with a dynamic source property was unloaded. - Fixed auto-wrapped text to honor
Text.horizontalAlignment
. - Fixed ARM NEON code in
drawhelper.h
. - Improved performance by preventing duplicate text metrics computation when a Text element has elide or word wrap set.
- Fixed the Infineon TRAVEO T2G CYT3DL platform to report an error instead of crashing when trying to allocate from an uninitialized HyperRAM.
- Fixed a crash in the RH850 platform that happened when using Shapes or ArcItem APIs in an
ItemLayer
with depth set toBpp32Alpha
. - Fixed the
directory
property in files nodes to take file selectors into account when exporting aqmlproject
file. - Fixed the
Layouts
module export forqmlprojectexporter
. - Fixed
qmltocpp
to prevent rebuilding of all QML files when only a single one changes, by not overwriting existing source files when their contents haven't changed. - Fixes to examples and demos:
- Fixed the missing error code return value from
tvii_convert_decoded_buffers
for Infineon TRAVEO T2G in the imagedecoder example. - Fixed the thermo-benchmark demo by adding a missing compile definition.
- Fixed the missing error code return value from
- Loader fixes:
- Fixed a compiler error with Green Hills 2015.1.7 that happened when
Component
was used withLoader
from QML. - Fixed a crash that happened when a
Loader
with a dynamic source or source component property got destroyed.
- Fixed a compiler error with Green Hills 2015.1.7 that happened when
- SwipeView fixes:
- Fixed
SwipeView
animations to always finish at target index when manually settingcurrentIndex
, or usingSwipeView.incrementCurrentIndex()
orSwipeView.decrementCurrentIndex()
. - Fixed
SwipeView
setCurrentIndex()
to work correctly withMouseArea
.
- Fixed
- Text cache fixes:
- Fixed single-glyph Text items to be cached correctly when the text cache is enabled using the Monotype Spark font engine.
- Improved performance by freeing old text cache entries to make space for new ones to fully utilize the text cache.
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:
(since Qt Quick Ultralite 2.8) | AlignmentFlag : enumeration |
APIs for platform development
Changes in Previous Versions
- What's New in 2.7
- What's New in 2.6
- What's New in 2.5
- What's New in 2.4
- What's New in 2.3
- What's New in 2.2
- What's New in 2.1
- What's New in 2.0
- What's New in 1.9
- What's New in 1.8
- What's New in 1.7
- What's New in 1.6
- What's New in 1.5
- What's New in 1.4
- What's New in 1.3
- What's New in 1.2
- What's New in 1.1
Available under certain Qt licenses.
Find out more.