C
2.6 新特性
Qt Quick Ultralite 保持不同小版本间的源代码兼容性。然而,一些更改可能需要您调整应用程序代码。以下部分将突出显示这些更改
重要更改
- NXP RT1170 板版本从 MIMXRT1170-EVK 升级到 MIMXRT1170-EVKB。此目标平台的名称现在是
mimxrt1170-evkb-freertos
而不是mimxrt1170-evk-freertos
。 - MCUs 版 Qt SDK 包括 桌面 模拟器源代码,使您可以为不支持的平台进行自定义和构建。
新功能
- 添加了 Loader.status 属性,用于指示加载项的进度。
- 添加了 PerformanceMetrics API,以启用为平台记录性能数据。有关更多信息,请参阅 实现性能指标平台 API。
- 为 Traveo II 4M 板添加了 QulResourceDataInSemperFlash 资源存储部分。
- 添加了
qsTrId()
以支持基于 ID 的文本翻译。有关更多信息,请参阅 基于 ID 的文本翻译。 - 为将应用程序构建为静态库添加了 C-Linkage functions 以控制初始化和 Qt Quick Ultralite 引擎调度。
- 升级
- IAR 编译器版本 9.40.1
- LodePNG 版本 20230410
- STM32 F7 SDK v1.17.1
- STM32 H7 SDK v1.11.1
- STM Cube Programmer v2.14.0
- 适用于 Renesas EK-RA6M3G 的 Flexible Software Package(FSP) v4.5.0
- MCUXPresso SDK 2.14.0
- MCUXPresso IDE v11.8
qmlprojectexporter
更新- 使用 --export-platform 命令行选项覆盖默认行为,以导出平台源代码。
- 添加了 --update-project 命令行选项,以便更新已包括 Qt Quick Ultralite 平台和 UI 源的现有 GHS Multi IDE 项目。有关更多信息,请参阅 更新现有项目。
- 添加了--extend-project命令行选项,以支持向现有第三方GHS Multi IDE项目添加Qt Quick Ultralite平台和UI源。有关更多信息,请参阅扩展GHS项目。
- 生成GHS Multi IDE工作区文件,以简化集成。
- 提高具有大量图像资源的应用程序的编译时间。
- 为Renesas RH850 D1M1A板添加了AUTOSAR支持。
- 示例和演示
- 添加了instrument_cluster示例。
- 为automotive和thermo演示添加了基准模式。为基准模式添加了Qt Quick Ultralite Profiling QML Types模块。
- 添加了fileloading示例,演示了如何使用
file://
方案前缀来指定图像文件路径。
- 缓动曲线
- 添加了对
Easing.*Elastic
、Easing.*Back
和Easing.*Bounce
缓动曲线类型的支持。 - 添加了对使用
bezierCurve
属性Easing.BezierSpline类型的自定义缓动曲线的支持。
- 添加了对
- 在QML中添加了对String.arg() API和对象别名属性的支持。
- 为QulPerf添加了新属性,使得您可以收集更多性能指标。
- 添加了Filesystem平台API(技术预览版),以支持使用
file://
方案前缀访问文件系统上的图像。在fileloading示例中演示了如何使用file://
方案前缀,并在STM、NXP和桌面平台上集成自定义文件系统实现。 - 添加了textFormat属性来支持纯文本和富文本。
- 添加了qul_override_freertos_heap_size CMake宏来支持在应用
CMakeLists.txt
中已定义或覆盖freeRTOS总堆栈大小。
修复了问题
Qt for MCUs v2.6.1
- 修复了由于解析了QulPerf::maxHeapUsage和QulPerf::maxStackUsage属性类型为字节而不是整数而导致的编译错误。
- 修复了STM32平台上的GCC v12编译器和链接器警告。
- 修复了由于像素偏移导致的文本转换错误和渲染问题。
- 修复了CMake逻辑,以确保在qmlprojectexporter由于缺少依赖而失败时可以报告有用的错误信息。
- 更新了FreeType光栅化器,以支持
ARGB32_Premultiplied
和ARGB4444_Premultiplied
格式。 - 修复了为Renesas RH850构建时GHS 2018编译器的警告。
- 修复了IAR裸机平台上的
thermo_demo
(基准模式)的堆栈结构,以避免堆栈使用报告错误。 - 修复了Item实现,以确保可见性更新考虑其
visible
属性上的属性绑定。 - 修复了SharedImage,以确保它不使用对已销毁图像的引用。
- 修复了软件渲染器,确保在 ismeretlen képféle használatakor hiba_reporting。
- 修复了ImageLayer实现,以避免无效的内存访问,这可能会导致应用程序崩溃。
- ShapePath 修复
- 当 strokeWidth 为 0 时,使用默认值(1)。这提高了与 Qt 的代码兼容性。
- 当
QUL_COLOR_DEPTH
设置为 8 时,修复路径混合
qmlprojectexporter
修复- 当使用基于 ID 的翻译时,如果 QmlProject 属性 TranslationFiles.MCU.omitSourceLanguage 不是
true
则警告。 - 递归搜索模块的
.qmlproject
文件导入路径。 - 从模块中收集字体文件。
- 当使用基于 ID 的翻译时,如果 QmlProject 属性 TranslationFiles.MCU.omitSourceLanguage 不是
qmltocpp
修复- 考虑默认状态时的
when
条件。 - 将过渡动画应用到默认状态。
- 在函数参数中接受对象指针。
- 根据状态变化修复可见性属性的处理。
- 处理名为空字符串 ("") 的用户定义状态,使其不被视为默认状态。
- 关于未知类型的
required
属性发出警告。 - 使用与 "lupdate" 相同的约定,从
*.ui.qml
文件中提取可翻译单元的上下文名称。
- 考虑默认状态时的
Qt for MCUs v2.6.0
- 修复了渲染到右对齐且被截断的 RTL 文本时的断言和 UI 错误。
- 修复了文本行间的间距,以确保它们按照所选字体渲染。
- 修复了使用 MCU.Config.fontVectorOutlinesDrawing 启用时 Spark 字体引擎的状态更新问题。
- 修复了 SwipeView 的行为,以确保启用和禁用视图将传播到其子视图。
qmltocpp
更新- 为引号字符串字面量生成有效的 C++ 代码。
- 优化 Loader 的代码生成,以减少内存占用。
- 示例和演示
- 将 watch 示例的颜色深度降低,以避免在用 IAR 构建 STM32H750B-discovery 板时出现闪烁的 UI 错误。
- motor_cluster 示例
- 增加了启动动画
- 修复了在 Traveo II 上导致 UI 冻结的回归问题。
- 更新了叠加 FPS 指标。
- 更新了 thermo 示例以使用基于 ID 的翻译 API。
- automotive 示例
- 使用 Loader 以减少内存占用。
- 修复了使用 RLE 方法压缩图像时的渲染错误。
- 修复了 thermo 示例在 FreeRTOS 和 STM32F769 上的性能问题。
- 更新了 translation 示例以使用带有内联图像的文本。
- 优化了精灵动画的纹理生成。
- 修复了启用裁剪优化时意外的数据二进制大小。
- 修复了使用命令行选项
--selector
时的qmlprojectexporter
文件选择器逻辑。 - 更新构建配置以将资产数据二进制文件和文本文件复制到构建目录。如果您将应用程序构建为静态库,这将非常有用。
新 API
应用程序开发 API
新 QML 类型
新 QML 属性
QML 类型 Loader
status : 枚举 |
QML 类型 QulPerf
averageCpuLoad : 实数 | |
averageFps : 实数 | |
maxHeapUsage : 整数 | |
maxStackUsage : 整数 | |
minimumFps : 实数 | |
recording : 布尔 | |
totalFrames : 整数 |
QML 类型 Qulperf
currentCpuload : 实数 |
QML 类型 Text
textFormat : 枚举 |
平台开发 API
新类
新增成员函数
virtual float | cpuLoad() |
virtual uint64_t | maxHeapUsage() |
virtual uint64_t | maxStackUsage() |
virtual Platform::PerformanceMetrics * | performanceMetrics() |
前版本变更
在某些 Qt 许可证下可用。
了解更多。