C
2.5 版本更新
Qt Quick Ultralite 在小版本发布之间保持源代码兼容性。然而,一些更改可能要求您适应应用程序代码。以下各节突出了这些更改
重要更改
- 仅在调试构建中启用了关键的 assert 错误代码,并且对于
Rel
和MinSizeRel
构建已禁用。 - Cypress Traveo II 预构建库使用 GHS 2017 编译器构建。您需要相同的编译器版本才能使用这些库或重新编译核心库。
- 将 Renesas RH850 平台的平台代码降级到 C++03,并将 Cypress Traveo II 降级到 C++11。
- 添加了对 NXP MIMXRT1060-EVKB 的支持,并停止了对该板早期版本(《MIMXRT1060-EVK》)的支持。
- 弃用
platformexporter
工具,因为您现在可以使用qmlprojectexporter
导出平台源。有关更多信息,请参阅QmlProject 手册。
新功能
- 添加了对软件矢量图形的支持。
- 在 Renesas RH850 上添加了对 GHS 2015.1.7 编译器的支持,使用 C++03。
- SDK 升级
- STM32H750B SDK 升级到 v1.11.0
- STM32F469 SDK 升级到 v1.27.1
- Renesas RH850/D1M1A RGL SDK 升级到 v2.1.0a
- NXP RT1050 和 RT1064 升级到 SDK v2.13.0
- NXP RT1060 和 RT1170 升级到 SDK v2.13.1
- Cypress Traveo II SDK 升级到 1.2.1
- 添加了对暂停和恢复 AnimatedSprite 的支持。
- QmlProject 更新
- 添加了文档,以便于将 UI 资源配置迁移到 QmlProject。
- 更新 快速入门指南 以包含
qmlprojectexporter
工作流程。 - 添加了 QmlProject 属性 resourceAnimatedSpriteOptimizations,以启用只渲染图像更改区域的渲染。
- 添加了对生成 GHS Multi IDE 项目的支持。有关此选项的更多信息,请参阅QmlProject 手册。
- 添加了对 Renesas RH850/D1M1A 上的 LVDS 显示的支持。有关更多信息,请参阅支持的显示部分。
修复了问题
Qt for MCUs v2.5.3
- 示例和演示的修复
- 修复了Qt Quick Ultralite的tvii_effectsExample中模糊效果的闪烁问题。
- qmlprojectexporter修复
- 修复了qmlprojectexporter,使其可以递归地在
importPaths
中查找模块。URI必须与模块的qmlproject
文件的相对路径匹配之一。这是在不添加到ModuleFiles
节点的情况下添加模块的另一种方法。 - 修复了qmlprojectexporter,将其添加为
qmldir
中的导入以确保在Qt Creator中导入的正确顺序。 - 修复了qmlprojectexporter,从模块qmlprojects中收集字体文件。
- 修复了qmlprojectexporter,使其可以递归地在
- qmltocpp修复
- 正确处理用户定义的空名称的状态。
- 验证在对象不作为代理使用时初始化所需的属性。
- 只有当对象用作代理时,才为模型属性的唯一
m_cppNameProperty
属性提供所需的属性。 - 检查是否将类型为
Component
的自定义属性作为souceComponent
的绑定使用,以避免崩溃。 - 使父属性对
inline
组件声明对象可用。 - 改进了当用作Loader
sourceComponent
时的inline
组件内部的锚点绑定。 - 检查QML自定义组件或其基类是否已定义附加属性,这样当组件在另一个QML文件中初始化时,就不会生成新的附加类型节点。
- 修复了由转换文本引起的定位和渲染故障错误。
- 修复了在STM32H750B-discovery板上使用ARM GCC 12.x工具链构建时的编译器和链接器警告。
- 修复了由于没有调用随后的
PlatformContext::presentFrame()
而调用PlatformContext::endFrame()
导致的Renesas RH850(可能影响其他平台)的挂起问题。 - 修复了使用IAR在Windows上使用
FREERTOS_PROVIDE_MEMORY_ALLOCATOR_OVERLOADS
选项时的FreeRTOS内存分配器构建问题。 - 为Qt for MCUs添加了从Qt许可服务器获取许可的支持。
- 修复了声明未知类型所需属性导致的崩溃问题。
- 修复了支持的MSVC版本的歧义。
- 修复了有关形状和部分缓冲功能的特性矩阵。
- 修复了软件光栅化应用下应用的CMake配置支持。
- 修复了当父的可见性变为true且项目由Loader创建时绑定的嵌套属性可见性的闪烁。
- 修复了STMF769平台可穿戴应用程序上的闪烁UI。
- 修复了无法使用Clang 17构建的问题。
- 修复了
qmlproject
以防止模块在importPaths
中依赖自己。 - 修复RGB888透明度混合,使其传递整个颜色而不是只有第一个字节到插值函数。
Qt for MCUs v2.5.2
- 降低了手表演示的灰度深度,以避免在STM32H750B-discovery板上使用IAR构建时出现UI闪烁。
- 修复了渲染RTL文本时的断言和UI闪烁,该文本被截断且未左对齐。
- 修复了SwipeView的行为,以确保启用和禁用视图同时也会影响其子视图。
qmltocpp
修复- 为带引号的字符串字面量生成有效的C++代码。
- 在JavaScript函数中将对象处理为指针。
- 为`RotationAnimation`的`
from
`和`to
`属性使用正确的类型。 - 支持使用下划线而非点作为翻译文件名以提高与Qt的兼容性。
- 如果启用了`MCU.Config.fontVectorOutlinesDrawing`,则修复了Spark字体引擎的状态更新问题。
- 修复了在使用Spark字体引擎时,`
fontcompiler
`使用足够的内存来为堆和字形缓存。 - 修复了桌面平台中调整窗口大小时的未知元素。现在窗口具有固定大小。
- 修复了软件渲染器在使用未知图像格式时的错误报告。
- 修复了`ImageLayer`实现,以避免无效内存访问,这可能导致应用程序崩溃。
- `ShapePath`修复
- 当`strokeWidth`为`
0
`时,使用默认值(`1
`)。这提高了与Qt的代码兼容性。 - 修复了Qt Quick Ultralite图形引擎,当`
QUL_COLOR_DEPTH
`为`8
`时,正确混合路径。
- 当`strokeWidth`为`
- `
qmlprojectexporter
`修复- 固定CMake逻辑,以便当`
qmlprojectexporter
`由于缺少依赖项失败时,报告有用的错误消息。 - 忽略`
qmlproject
`文件中不同文件节点上的`filter
`属性。 - 通过在模块中包含导入模块的依赖项来避免链接器错误。
- 固定CMake逻辑,以便当`
- 修复由于渲染树中不正确的不透明区域导致的UI元素。渲染器仅在子元素在范围内时才会计算子元素的不透明区域。
- 优化了缓存复杂文本的轮廓生成,以避免由于轮廓数量多导致的UI元素。
- 修复了`AnimatedSpriteDirectory`的本地界限,确保动画使用的图像不会被裁剪。
- 修复了FreeType的渲染池大小,以避免渲染形状时的闪烁。
Qt for MCUs v2.5.1
- 修复了Qt桌面平台库,确保Qt for MCUs应用程序不在桌面上的忙碌循环。
- 修复了`
qmltocpp
`以避免Qt Creator为`StaticText`、`Rotation`和`Scale` QML类型报告未知属性警告。 - 示例和演示的修复
- 在`watch demo`的窗口中添加显式大小,以避免桌面上的裁剪边缘。
- 修复了`swipe_game demo`以避免意外的元素。删除了重叠的`MouseArea`对象,并仅限于垂直滚动。
- 修复了`sprite_animations`以避免渲染元素。
- 修复了`SwipeView`以避免对禁用项目捕获触摸事件。
- 修复了具有`
z
`值的孩子错误的堆叠顺序。 - 更新了`AnchorChanges`文档中的代码片段。
- 修复基于属性绑定的动画元素时的崩溃。
- 修复了`SwipeView`回归,以确保即使您超过最小或最大索引,`
setCurrentIndex()
`也能按预期工作。 - 通过使用`
EventQueue::isEmpty
()`方法修复在STM设备上事件队列溢出的问题。 - 修复了
qmlprojectexporter
,避免了在没有 QML 文件的模块上调用qmltocpp
。 - 为 AnimatedSprite 修复了以下问题。
- 避免在裁剪时应用相同的帧优化。
- 为裁剪优化启用 RLE 压缩。
- 修复了
qmlprojectexporter
的 QmlProject 配置以支持以点号开头的名称。 - 为
qmlprojectexporter
添加了许可证检查。 - 修复了 PropertyChanges 上的过渡动画,以避免从错误状态使用属性绑定。每次调用
setValue()
方法都会清除旧的绑定。 - 修复了从 C++ 触发的动画,以确保它们不会提前结束。
- 修复了
qmlprojectexporter
,为 GHS 项目添加了缺少的优化。
Qt for MCUs v2.5.0
- 修复了当其水平对齐为
Text.AlignRight
或Text.AlignHCenter
时自动包装的 Text 项的断言。 - 提高了文本缓存性能。
- 将纹理缓存移至内部 RAM。
- 改进了 Qt Creator 中的套件配置支持。
- 修复了 SwipeView,使其在拖动时更新其 currentIndex。
- 修复了 ProgressBar 实现,以使用默认值初始化其
from
和to
属性。 - 改进了
Resource PflegeImageSequence
优化支持,以从图像序列中删除透明像素。 - 修复了
qulrcc
,以确保它重用相同帧的保存数据。 - 优化了 DrawingEngine 为路径点进行的内存分配。
- 将
example-platform
实现降级到 C++03,以便在所有平台上工作。 - QmlProject 修复
- 忽略了未以
QDS
前缀的 DS 属性。 - 添加了
libclang
依赖关系,以避免在使用 MinGW 工具链时构建失败。 - 增加默认进程超时间隔,以确保
qmlprojectexporter
有足够的时间处理大型项目。 - 更新逻辑以在单行上收集和包括链接器选项。
- 修复了文件选择器逻辑以包含 QML 模块依赖关系。
- 忽略了未以
- 示例和演示
- 修复了 thermo 演示,以避免在 STM32F769 上出现闪烁伪影。
- 修复了 shapes 示例的方向,从水平更改为垂直,以避免在 NXP i.MX RT1170 平台上元素变得太小。
- 更新了 translation 示例,根据屏幕方向调整标志图像的大小。
- 更新了 freertos_multitask 示例的 LED PIN 配置,以确保在 NXP RT1050 上 LED 闪烁。
- 修复了使用 C++ 属性的 QML
onChanged
处理器时的内存损坏。 - 修复了在 Renesas RH850/D1M1A 上的外部 Octa 闪存的闪存目标。
- 修复了
qmltocpp
,确保它使用相对路径查找 QML 中使用的 C++ 功能。 - 对于 Renesas RA6M3G 上的除
MinSizeRel
之外的其他构建类型添加了 CMake 警告,有关更多信息请参阅 Renesas EK-RA6M3G 备注。
新 API
应用程序开发 API
新 QML 属性
QML 类型 AnimatedSprite
paused : bool |
新 QML 方法
QML 类型 AnimatedSprite
早期版本中的变更
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 版本中的变更 | |
2.5 版本中的新特性 | |
v2.6.0 版本中的变更 | |
v2.7.0 版本中的变更 |
在特定 Qt 许可证下可用。
了解更多。