C

1.1 版本中的新特性

Qt Quick Ultralite 在小版本更新之间保持源代码兼容性。然而,某些更改可能需要您相应地调整应用程序代码。以下几节将强调这些更改。

1.1 版本中的更改

新板子

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

新特性

  • 添加了对 FreeRTOS 的支持。有关更多信息,请参阅 使用 Qt Quick Ultralite 和 FreeRTOS
  • 添加了用户定义的 main() 函数的支持。
  • 添加了技术预览 QML 模块 QULCharts
  • 添加了资源编译器 qulrcc 工具 和图像资源标志的支持,请参阅 CMake 参考手册
  • 添加了存储压缩图像文件的可能性。这确保了输出二进制文件更小,但会影響性能和 RAM 使用。必须在项目的 CMakeLists.txt 中使用 QUL_RESOURCE_COMPRESSION 单独标记图像文件以保留其压缩形式。此外,您必须将 QUL_TEXTURE_CACHE 设置为合适的值,以便在 RAM 中保存解压缩后的图像。
  • 添加了在闪存中存储图像数据以及在需要时将其加载到 RAM 的能力(QUL_RESOURCE_CACHE_POLICY)。
  • 添加了 font.unicodeCoverage 属性以启用选择编译到二进制文件中的字体符号。
  • 添加了 QML 字符串连接使用 +
  • 添加了将 QML 浮点值转换为字符串的转换。

源代码兼容性中断

  • Qul::Property<T> 持有的类型必须是可比较的,因此那些没有内置比较操作符的类型必须提供用户定义的运算符==。
  • 当使用 CMake 设置设备构建时,必须设置 CMAKE_TOOLCHAIN_FILEQUL_PLATFORM 变量。有关更多信息,请参阅 CMake 手册
  • 现在必须在项目的 CMakeLists.txt 中使用 qul_add_resource 列出图像资源。
  • 必须从 QML 中通过其 "qrc:/" 资源 URL 引用图像。
  • Flickable 中的触摸事件传播现在工作正常。这解决了已知问题,但可能破坏依赖先前行为的应用程序。
  • MouseArea API 已更改以增强兼容性。
    • 已删除 pressedXpressedYpropagateComposedEvents 属性。
    • 已添加 pressedreleasedpressAndHoldcanceled 信号。
    • 信号现在接收一个带有 xyacceptedwasHeld 属性的 mouse 参数。
  • 为了与 Qt 保持一致,将 Qul.uiLanguage 重命名为 Qt.uiLanguage。这要求您更改源代码以使用新名称。默认情况下,属性设置为空字符串,表示正在进行翻译。
  • Qt.uiLanguage 不再使用特殊值 "source"。现在,空字符串表示不使用翻译。
  • 为了与 Qt 保持一致,已删除 Qul.color。现在,用户可以使用字符串文本(如, "#F00" 或 "red")创建颜色。
  • QtQuick.Controls.Templates 中类型名称已更改。
    • AbstractButtonTemplate 现在称为 AbstractButton
    • ButtonTemplate 现在称为 Button
    • CheckBoxTemplate 现在称为 CheckBox
    • ControlTemplate 现在称为 Control
    • DialTemplate 现在称为 Dial
    • ProgressBarTemplate 现在称为 ProgressBar
    • RadioButtonTemplate 现在称为 RadioButton
    • SliderTemplate 现在称为 Slider
    • SwipeViewTemplate 现在称为 SwipeView
    • SwitchTemplate 现在称为 Switch
  • 在 STM32 F7508-DK 上,printf 输出现在通过 USART1 发送,该端口连接到 ST-LINK Virtual COM Port,而不是 USART6。USART6 将不再初始化。

新增功能

修复问题

  • 修复了触摸事件传播问题。
  • 修复了 BorderImage 的绘制。
  • state 属性的类型更改为字符串。

新 API

新 QML 属性

QML 类型 Qt

uiLanguage : string

QML 类型 MouseArea

pressed : bool

QML 类型 Text

bottomPadding : real
leftPadding : real
padding : real
rightPadding : real
topPadding : 实数

新 QML 信号

已取消()
完成()
pressAndHold(MouseEvent 鼠标)
pressed(MouseEvent 鼠标)
released(MouseEvent 鼠标)
开始()
停止()

适用于某些 Qt 许可证下。
了解更多。