C
What's New in 2.3
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
- Ported the platform exporter Python script to be a native application.
- Replaced
BoardDefaults.cmake
withBoardDefaults.qmlprojectconfig
. See Migration Guide.
New features
- Added the boundsBehavior property to control the dragging or flicking beyond the bounds.
- Added support for building Qt Quick Ultralite applications using MinGW v11.2 on Windows
- Optimized QML binding evaluation to reduce code size by up to 2.5% depending on the toolchain and the application.
- Added support for AutomaticCompressedLossless image format on Cypress Traveo II.
- Upgrades:
- Renesas FSP v3.8.0.
- MCUXPresso SDK v2.12.0 for MIMXRT1050, MIMXRT1060, MIMXRT1064, and MIMXRT1170.
- STM32CubeH7 SDK v1.10.0 for STM32H750.
- STM32CubeF7 SDK v1.17.0 for STM32F769.
- STM32CubeF4 SDK v1.27.0 for STM32F469.
- LodePNG version to 20220109.
- CMake minimum version to v3.21.1.
- Added the DeviceLink platform API to enable communication between the host and the device.
- Added EventQueue::isOverrun() and EventQueue::clearOverrun() to check if the event queue is overrun and clear it.
- Added FreeRTOS support for EK-RA6M3G.
- Added
.qmlproject
files to all the Qt Quick Ultralite demos and examples. - Added support for images with unicode filenames.
- Updates to Flickable:
- Added animation for the boundsBehavior when an item is flicked over bounds.
- Added the flickableDirection property to control the flick direction.
- Added partial framebuffer support for STM32F469 and STM32F769.
- Added support for RK043FN66HS-CTG display on MIMXRT1050, MIMXRT1060 and MIMXRT1064 boards.
- Added the compiler and linker-specific options to a whitelist, enabling platform exporter to filter them from the options retrieved by CMake. These white-listed options are required to be set by the 3rd party IDEs.
- Added Loader QML API to support loading QML components dynamically.
- Added support for the updated display panel in the STM32F769I Discovery kit.
- qmlprojectexporter updates:
- Override the Qt Controls style using the
--controls-style
command-line option. - Detect an SVG image.
- Select resource variants using file selectors.
- Generate dependency resolution report.
- Validate custom image properties.
- Run in both configure and generate modes using the
--export-configuration
and--export-cpp
command-line options. - Handle the IAR toolchain-specific needs to use the module assets.
- Override the projectRootPath property.
- Export modules using the
--export-modules
command-line option, which is enabled by default. - Improve error reporting to ensure that the messages help the developer resolve the error.
- Add compiler and linker option white list.
- Update the filename naming scheme to match with the scheme used by
qmltocpp
.
- Override the Qt Controls style using the
Fixed issues
Qt for MCUs v2.3.1
- Fixed the camera example to avoid build failure using the IAR toolchain.
- Loader QML type fixes:
- Ensured that the Loader uses correct size for the items in a SwipeView.
- Improved Qt Quick compatibility.
- Dropped MSVC requirement for the Windows desktop builds using the MinGW toolchain.
- Fixed the thermo demo crash on MIMXRT1064-EVK while choosing a language from the menu.
- Fixed CMP0083 CMake policy error while building for the Linux desktop.
- Fixed Animation logic to avoid incorrect
QulError_Animation_ProgressOutOfRange
assertions, while checking if the given value within (0-1) bounds. - Fixed unexpected artifacts on STM32H750B while running the swipe_game demo MinSizeRel build.
- Fixed inconsistency in handling resource properties for resources with custom
BASE
andPREFIX
. - Fixed stack size calculation logic to avoid the array-bounds compiler warning.
- Fixed the NXP platform port to avoid queries for touch data when there are no touch interrupts.
- Fixed build failure of EK-RA6M3G FreeRTOS platform adaptation with performance measurements enabled.
- Fixed the UI update logic to ensure that a Qul::Property::setValue call triggers a repaint.
- Fixed the motor_cluster demo to ensure RPM indicator is visible on NXP RT1170.
- Fixed the Timer type to ensure that its
onTriggered
slot works when a function binding returns a boolean.
Qt for MCUs v2.3.0
- Fixed event queue to avoid it being stuck in the overrun state, and print a warning when it enters the state.
- Fixed rendering artifacts on Cypress Traveo II when drawing vector graphics using the Shapes or DrawingEngine APIs.
- Removed the
qmlinfterfacegenerator
MSVC dependency when cross-compiling for a target using other toolchains. - Fixed Flickable to ensure that touch-and-drag behavior is consistent across the supported devices.
- Fixed the platform port for EK-RA6M3G to ensure that logging and touch handling works when a custom
main
is used. - Moved the startup file in the automotive demo to ensure that it is added to the platform irrespective of the Qt Quick Ultralite build type (static or dynamic).
- Updated CMake logic to use the input from
qmlproectexporter
to update translations. - Fixed memory usage by preallocating Image and Text cache buffer to avoid fragmentation.
- Fixed platform source filename conflicts in 3rd party IDEs.
- Ported
BoardDefaults.cmake
toBoardDefualts.qmlprojectconfig
, enabling CMake to use the default values in theqmlproject
file. - Fixed rendering artifacts on STM32F469 with 24bpp color depth.
- Examples and demos:
- Enabled support for configuring the examples for all the available Qt for MCUs kits.
- Enabled the image_cache example for RH850 and Cypress Traveo II.
- Enabled the watch demo for MIMXRT1060.
- Enabled the static_library example for RH850.
- Fixed error reporting when non-default color depths are used for the application, without rebuilding the platform. See the Supported features list for more information.
- Fixed crash on STM32F769 due to IAR optimizations.
- Fixed regression in
qmlprojectexporter
caused by invalidlibclang
search path. - Changed the install PATH for the Qt libraries to separate the libraries for MSVC and MinGW. The MSVC version of these libraries are installed into
<QUL_ROOT>/lib/msvc
, whereas the MinGW version is installed into<QUL_ROOT>/lib/gnu
. - Fixed inconsistent line wrapping for text items with the Text::wrapMode set to
WordWrap
. The line breaks algorithm for this mode complies with the algorithm recommended by the Unicode standard. - Fixed issues with rendering a space
" "
character in theunicodeCoverage
list, using the static font engine. - Fixed crash because of the size optimization for GCC toolchain.
Other changes
- Updated the license manager to support EDU license.
New APIs
APIs for application development
New Member Functions
Class EventQueue:
void | clearOverrun() |
bool | isOverrun() const |
New QML Types
- L
- Loader
APIs for platform development
New Classes
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 |
Available under certain Qt licenses.
Find out more.