C

什么是Qt for MCUs 2.2中的新功能

Qt Quick Ultralite在次要版本之间保持源代码兼容性。但是,某些更改可能需要您修改应用程序代码。以下部分突出了这些更改

新功能

  • 添加了QUL_PLATFORM_DEFAULT_BINARY_ASSET_OPTIONS,以启用配置资产数据二进制文件如何在应用程序二进制文件中包含。
  • 编译器、图形驱动程序和SDK升级
    • ARM GCC编译器v10.3。
    • IAR编译器9.20.4。
    • Traveo II集群系列的图形驱动程序v1e.1.0。
    • MCUXPresso SDK v2.11.1
  • 在NXP RT1170上添加了对RK055HDMIPI4MA0显示器的支持。
  • 添加了QUL_RH850_FLASH_TYPE和QUL_RH850_RAM_TYPE配置选项,以启用使用Octa闪存和Octa RAM作为资源数据。
  • 添加了对使用IAR 8.22功能安全编译器构建tviic2d6m-baremetal平台的支持。
  • 添加了Text.wrapMode API。
  • 添加了错误通知API,以使应用程序能够优雅地处理Qt Quick Ultralite错误。有关更多信息,请参阅错误处理
  • 添加了qul_generate_flash_target CMake命令以生成闪存目标。
  • 添加了texture()和textureCount()函数以访问纹理数据。
  • 添加了性能和占位符指南,以使Qt for MCUs优化使用。
  • 为Linux主机添加了Monotype FontmapEditor支持,并将其升级到最新版本。

修复问题

Qt for MCUs v2.2.4

  • 在为Linux桌面构建时修复了CMP0083 CMake策略错误。
  • 修复了以下动画逻辑
    • 检查给定值是否在(0-1)范围内时,避免错误的QulError_Animation_ProgressOutOfRange断言。
    • 仅触发独立和顶级动画的信号,以提高与Qt Quick动画的兼容性。
  • 修复了对具有自定义BASE和PREFIX的资源属性处理的不一致。
  • 修复了qmltocpp,以防止删除未使用的返回值的函数调用。
  • 修复了带有Ninja的CMake配置,以显示闪存工具的进度。
  • 修改NXP平台端口,避免在没有触摸中断的情况下查询触摸数据。
  • 修改栈大小计算逻辑,避免数组边界编译器警告。
  • 修复在运行swipe_game演示代码(MinSizeRel构建)时STM32H750B上出现的不预期的效果。
  • 修复fontcompiler以避免对glyphMap尺寸的错误处理。
  • 修复UI更新逻辑,以确保Qul::Property::setValue调用触发重绘。
  • 修复automotive演示的CMake配置,包含HMI源代码。
  • 修复interrupt_handler示例,确保在所有平台上用户按钮按下行为一致。

Qt for MCUs v2.2.3

  • 修复属性变化事件中类型转换错误,对于类型为std::string的属性。
  • fontcompiler修复。
    • 处理字体font.unicodeCoverage列表中的空格字符。
    • 避免不必要的未找到字形警告。
  • 修复渲染问题,在父矩形中心的矩形项上。这提高了QtQuick和Qt Quick Ultralite之间的兼容性。
  • 修复在评估未初始化的属性时的段错误。
  • 修复文本项,确保它像标准QtQuick文本项一样处理clip属性。
  • 修复STM32F469I-Disco板上的24bpp混合。
  • 修复Cypress Traveo II套件(JSON)文件,确保Qt Creator拥有创建套件所需的所有信息。
  • 修复了STM32F769I板上IAR工具链的触摸处理,包括在非中断上下文中的触摸事件。
  • 修复文本项,确保在采用Text.WordWrap作为换行模式时,符合Unicode行断代算法
  • 修复了当动画激活时动画时长设置为零时的除以零。
  • 修复了删除脏渲染节点时的崩溃。
  • 修复Property以避免在具有绑定和转换的组合属性或属性更改多次时出现QulError_PropertyBase_DependencyNodesNotMarkedDirty断言。这也避免了属性多次变化时的断言。
  • 修复fontcompiler,只将font.unicodeCoverage列表中的唯一字符包含到Spark字体引擎缓存初始化数据中,忽略重复项。

Qt for MCUs v2.2.2

  • 修复了在尝试查找JLink时忽略系统环境中发现的JDK的CMake逻辑。
  • 修复了为多配置生成器(如MSVC)进行的构建类型检查,以确保默认构建类型正确。
  • 修复了在shapes示例中使用IAR工具链构建时Cypress Traveo II上的渲染伪影。
  • 修复了与自定义exec循环性能日志相关的问题。
  • 修复了将二进制文件烧录到STM设备相关的问题。

Qt for MCUs v2.2.1

  • 修复了用于自动生成静态文本翻译数组的逻辑,确保它们始终存储在闪存中。
  • 修复了Infineon Traveo II平台端口,避免与OTF窗口的圆角矩形混合伪影。
  • 修复了STM平台上较慢的动画循环。
  • 更新了PauseAnimation和TimeLineAnimation,使其基于时间戳,避免运行时间超过预期。
  • 修复了由频繁调用DrawingEngine::blendPath()函数引起的问题,影响了性能。
  • 修复了qmlcompiler,以提高与无效QML文件名相关的错误信息。
  • 修复了桌面模拟器中的以下问题:
    • 启用系统缩放时的渲染质量。
    • Windows上的应用程序默认构建类型设置为Release

Qt for MCUs v2.2.0

  • 优化绑定,根据工具链和应用,代码大小减小约3-15%。
  • 修复文本布局,不包含行高的前导(字体度量),这提高了Qt Quick和Qt Quick Ultralite之间的兼容性。
  • 修复了层忽略可见属性的问题,并确保该属性也传播到层的子项。
  • 修复了打包,确保包含兼容性源。
  • 优化qulrcc以确保原始二进制数据正确对齐。
  • 优化Screen和ItemLayer类型,警告错误使用。
  • 修复了qulrcc在qul_add_resource有BASE和PREFIX定义时的不一致行为。
  • 更新了NXT RT1170平台端口,使用一系列二次曲线而不是弧。
  • 修复了字体数据数组地址对齐问题。
  • 更新Qt Quick Ultralite以与Qt 6.2.4兼容。
  • 修复了内存管理器,以跳过在nullptr情况下对内存的对齐。
  • 修复了Chess例程,以便基于屏幕方向处理转换指示器的位置。
  • 修复了在Traveo II上的渲染问题,使用了Green Hills工具链。
  • 重构了混合逻辑,避免了STM32H750B上的闪烁问题。

新增API

应用程序开发API

新增成员函数

SharedImage

Qul::PlatformInterface::Texturetexture(int textureIndex = 0) const
inttextureCount() const

命名空间中的新增函数

QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

新增全局函数

const char *errorCodeToString(QulError code)

新增QML属性

QML类型Text

wrapMode:枚举

平台开发API

新增全局函数

voiderror(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0)
QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

新增宏

QUL_ASSERT(expression, code, ...)

前版变更

1.1 版新特性

v1.1.0 的变更

1.2 版新特性

v1.2.0 的变更

1.3 版新特性

v1.3.0 的变更

1.4 版新特性

v1.4.0 的变更

1.5 版新特性

v1.5.0 的变更

1.6 版新特性

v1.6.0 的变更

1.7 版新特性

v1.7.0 的变更

1.8 版新特性

v1.8.0 的变更

1.9 版新特性

v1.9.0 的变更

2.0 版新特性

v2.0.0 的变更

2.1 版新特性

v2.1 的变更

什么是Qt for MCUs 2.2中的新功能

v2.2 的变更

2.3 版新特性

v2.3 的变更

2.4 版新特性

v2.4.0 的变更

2.5 版新特性

v2.5 的变更

2.6 版新特性

v2.6.0 的变更

2.7 版新特性

v2.7.0 的变更

在特定的 Qt 许可下可用。
了解更多。