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动画的兼容性。
- 检查给定值是否在(0-1)范围内时,避免错误的
- 修复了对具有自定义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
新增成员函数
Qul::PlatformInterface::Texture | texture(int textureIndex = 0) const |
int | textureCount() const |
命名空间中的新增函数
QulErrorHandler * | setErrorHandler(QulErrorHandler *handler) |
新增全局函数
const char * | errorCodeToString(QulError code) |
新增QML属性
QML类型Text
wrapMode:枚举 |
平台开发API
新增全局函数
void | error(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0) |
QulErrorHandler * | setErrorHandler(QulErrorHandler *handler) |
新增宏
QUL_ASSERT(expression, code, ...) |
前版变更
v1.1.0 的变更 | |
v1.2.0 的变更 | |
v1.3.0 的变更 | |
v1.4.0 的变更 | |
v1.5.0 的变更 | |
v1.6.0 的变更 | |
v1.7.0 的变更 | |
v1.8.0 的变更 | |
v1.9.0 的变更 | |
v2.0.0 的变更 | |
v2.1 的变更 | |
v2.2 的变更 | |
v2.3 的变更 | |
v2.4.0 的变更 | |
v2.5 的变更 | |
v2.6.0 的变更 | |
v2.7.0 的变更 |
在特定的 Qt 许可下可用。
了解更多。