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_FILE
和 QUL_PLATFORM 变量。有关更多信息,请参阅 CMake 手册。 - 现在必须在项目的 CMakeLists.txt 中使用 qul_add_resource 列出图像资源。
- 必须从 QML 中通过其 "qrc:/" 资源 URL 引用图像。
- Flickable 中的触摸事件传播现在工作正常。这解决了已知问题,但可能破坏依赖先前行为的应用程序。
- MouseArea API 已更改以增强兼容性。
- 已删除
pressedX
、pressedY
和propagateComposedEvents
属性。 - 已添加
pressed
、released
、pressAndHold
和canceled
信号。 - 信号现在接收一个带有
x
、y
、accepted
和wasHeld
属性的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 将不再初始化。
新增功能
- 向 Animation 添加了
started
、stopped
和finished
信号。 - 向 Text 和 StaticText 添加了
padding
属性。 - 添加了实验性选项 QUL_DEBUG_LINE_DIRECTIVES,以启用生成源代码中的
#line
指令。 - 添加了实验性选项 QUL_DEBUG_BYTECODE,用于将 JavaScript 字节码打印到生成源代码中。
修复问题
- 修复了触摸事件传播问题。
- 修复了 BorderImage 的绘制。
- 将
state
属性的类型更改为字符串。
新 API
新 QML 属性
QML 类型 Qt
uiLanguage : string |
QML 类型 MouseArea
pressed : bool |
QML 类型 Text
bottomPadding : real | |
leftPadding : real | |
padding : real | |
rightPadding : real | |
topPadding : 实数 |
新 QML 信号
适用于某些 Qt 许可证下。
了解更多。