What's New in 1.1

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:

Changes in 1.1

New boards

  • NXP i.MX RT 1064 EVK
  • STM32 H750B-DK
  • STM32 F469i-disco
  • STM32 L4R9i-disco
  • STM32 L4R9i-eval

New features

  • Added support for FreeRTOS. See Using Qt Quick Ultralite with FreeRTOS for more information.
  • Added support for a user-defined main() function.
  • Added QULCharts technology preview QML module.
  • Added resource compiler qulrcc tool and support for image resource flags, see CMake Reference.
  • Added a possibilty to store compressed image files. This ensures that the output binary is smaller, but it affects performance and RAM usage. The image files must be marked individually with QUL_RESOURCE_COMPRESSION for keeping their compression form in the project's CMakeLists.txt. Additionally, you have to set QUL_TEXTURE_CACHE to an appropriate value, so the decompressed images can be held in RAM.
  • Added ability to store image data in flash and to optionally load it into RAM on demand (QUL_RESOURCE_CACHE_POLICY).
  • Added the font.unicodeCoverage property to enable selecting font glyphs that are compiled into the binary.
  • Added QML string concatenation with +.
  • Added conversion of QML floating point values to strings.

Source compatibility breaks

  • Types held by Qul::Property<T> must be equality comparable, so those that do not have built-in comparison operators must be provided with a user-defined operator==.
  • When setting up device builds with CMake, the CMAKE_TOOLCHAIN_FILE and QUL_PLATFORM variables must be set. See CMake Manual for more information.
  • Image resources must now be listed in the project's CMakeLists.txt using qul_add_resource.
  • Images must be referenced via their "qrc:/" resource URL from QML.
  • Touch event propagation in Flickable now works correctly. This resolves a known issue, but may break applications that depend on the previous behavior.
  • The MouseArea API has changed to improve compatibility.
    • The pressedX, pressedY, and propagateComposedEvents properties were removed.
    • The pressed, released, pressAndHold, and canceled signals were added.
    • Signals now receive a mouse argument with x, y, accepted, and wasHeld properties.
  • Qul.uiLanguage is renamed to Qt.uiLanguage for consistency with Qt. This requires changing your source code to use the new name. By default the property is set to an empty string, which indicates translation is done.
  • Qt.uiLanguage no longer uses the special value "source". Instead, the empty string now signifies not using a translation.
  • Qul.color is removed for consistency with Qt. The user is now able to create colors using string literals such as, "#F00" or "red".
  • The names of types in QtQuick.Controls.Templates changed.
    • AbstractButtonTemplate is now called AbstractButton
    • ButtonTemplate is now called Button
    • CheckBoxTemplate is now called CheckBox
    • ControlTemplate is now called Control
    • DialTemplate is now called Dial
    • ProgressBarTemplate is now called ProgressBar
    • RadioButtonTemplate is now called RadioButton
    • SliderTemplate is now called Slider
    • SwipeViewTemplate is now called SwipeView
    • SwitchTemplate is now called Switch
  • On STM32 F7508-DK, the printf output is sent via USART1 now, which is connected to ST-LINK Virtual COM Port, instead of USART6. USART6 will not be initialized anymore.


Fixed issues

  • Fixed touch event propagation.
  • Fixed drawing of BorderImage.
  • Changed the state property to have type string.

New APIs

New QML Properties

QML Type Qt:

uiLanguage : string

QML Type MouseArea:

pressed : bool

QML Type Text:

bottomPadding : real
leftPadding : real
padding : real
rightPadding : real
topPadding : real

New QML Signals

pressAndHold(MouseEvent mouse)
pressed(MouseEvent mouse)
released(MouseEvent mouse)

Available under certain Qt licenses.
Find out more.