C
2.7 新特性
Qt Quick Ultralite 在次要版本之间保持源代码兼容性。但是,某些变更可能需要您相应地调整应用程序代码。以下部分突出显示了此类变更。
重要变更
- 增加了对 Infineon TRAVEO™ T2G CYT4EN(预览版)的支持。
- 弃用了 Application QML 类型,并添加了 ApplicationScreens QML 类型作为替代。
新增功能
- 增加了 Studio.Components 模块和 ArcItem 工作室组件。
- 重构了 StaticText 实现以使其布局类似于 Text,而不论使用哪种字体引擎。它还确保了多行 StaticText 项目在缩放时对齐更好,并且它们的隐式水平对齐正确。
- 示例和示例更新
- 更新了 automotive 示例,使用硬件按钮来控制其模拟。
- 向 watch 示例添加了基准模式。
- 添加了 CMake 变量 QUL_PLATFORM_DEFAULT_LAYER_RENDERING_HINTS 以启用使用默认渲染提示配置平台层引擎。
- 增加了对使用线性渐变的填充路径的支持
- 增加了 DrawingEngine API。
- 增加了 Gradient QML 类型以启用使用线性渐变绘制 ShapePath 和 Rectangle。
- 在 Infineon TRAVEO™ T2G 和 NXP i.MX RT1170 引用板上增加了硬件加速线性渐变混合的支持。
- 解决了在核心库发生错误时 Desktop 后端 GUI 冻结的问题。现在,如果检测到错误,后端将有一个错误处理程序来停止执行。
- 解决了使用 IAR 构建时重复文件警告的问题。
- 修正了
qulrcc
,使其使用更好的哈希技术,避免了如果应用使用了大量的图像时的名称冲突。 - 在构建 ARM GCC 12.x 工具链时解决了编译器和链接器警告。
- 示例和示例修复
- 增加了文本缓存大小,以提高 STM32 板上 thermo 示例的渲染性能。
- 更新了 freertos-multitask 示例,展示了如何使用队列设置 Qt Quick Ultralite 属性,并在 Qt Quick Ultralite 与其他线程之间进行双向通信。
- 更新了形状示例,以展示线性渐变的使用。
- 重构了
qmltocpp
,以确保生成更好的空结构的代码。这改进了闪存占位(3%至7%),具体取决于应用。 - 升级
- TRAVEO™ T2G CYT4DN SDK版本2e.2.0。
- TRAVEO™ T2G 示例驱动程序库(SDL)版本7.9.0。
- QmlProject更新
- 添加了
Project.supportedLanguages
属性以列出支持的语言。 - 添加了Project.primaryLanguage属性以配置默认语言。
- 添加了健全性检查,以启用验证《
qmlproject
》文件中的节点和属性。 - 添加了MCU.Config.displayRotationAngle属性以控制顺时针旋转角度。
- 添加了
- 添加了对使用函数语法定义 Connections信号处理程序的支持。
- 在StaticText项目中添加了对
Text.StyledText
的textFormat支持。这可以使用HTML标签添加内联图像(并具有大小)。 - 添加了Qul::PlatformInterface::ImageDecoder API以启用实现自定义图像解码器。有关更多信息,请参阅图像解码器集成。
- 添加了对配置整个应用的旋转角度以匹配物理显示方向的支持。有关更多信息,请参阅《MCU.Config.displayRotationAngle》QmlProject属性。
修复了问题
Qt for MCUs v2.7.1
- 修复了当显示旋转角度设置为90或270时的层定位问题。
- 修复了在构建Renesas
RH850
上的image_cache示例时的链接错误。使用--parallel或-j
命令行并行处理QML文件。 - 修复了
qmlprojectexporter
,以启用快速导出较大的项目。使用--parallel或-j
命令行并行处理QML文件。 - 修复了
qmltocpp
错误- 以正确的顺序生成包含列表。
- 在使用超出其模块的模块名称时,对类型进行限定。
- 使父属性对内联组件声明对象可用,以避免崩溃。
- 改善在内联组件中的锚点绑定,当它用作sourceComponent时。
- 检查是否将自定义属性用作Loader的sourceComponent的绑定以避免崩溃。
- 修复了访问其他QML文件中对象别名时的崩溃。
- 修复了QulPerf,以便仅在启用记录时更新性能度量值。
- 修复了图像解码器,以避免在STM上图像小于输入缓冲区时崩溃。
- 修复了sprite_animations示例的渲染伪影。
- 修复了主工具
qulrcc
、qmltocpp
和fontcompiler
以确保生成的代码是一致的。 - 修复了启用generateQmltypes时加载QtQuick.Controls模块的错误。需要--qml-mappings-dir参数来加载此类模块,并且如果找不到这些模块,将提供更多信息。
Qt for MCUs v2.7.0
qmlprojectexporter
修复- 检查并删除QmlFiles节点中的重复条目。
- 检查不同文件节点中文件的类型,以确保它们与该节点相关。
- 从模块中收集字体文件。
- 当使用基于ID的翻译时,如果TranslationFiles.MCU.omitSourceLanguage QmlProject 属性不为真,则发出警告。
- 修复了CMake逻辑,如果在由于缺少依赖项而导致
qmlprojectexporter
失败时报告有用的错误消息。 - 不要使用已安装的构建的系统Clang。
qmltocpp
修复- 根据项目的C++标准生成C++代码。
- 在函数参数中接受对象指针。
- 修复了查找信号处理程序(带
"on"
前缀)的逻辑,在将C++函数作为信号处理程序之前。 - 考虑用于默认状态的
when
条件。 - 在考虑状态更改事件之前,考虑声明的
state
属性。 - 改进从QML生成的代码,以避免空结构,提高闪存占用率从3%到7%,具体取决于应用程序。
- 将CheckBox::checkState 枚举更改为与Qt一致。
- 由于单像素偏移导致转换文本位置错误和渲染故障已修复。
- 在Spark字体引擎渲染复杂文本时,修复了字符间距错误。
- 在STM32H750B-DISCO上使用ARM GCC修复了重复定义警告。
fontcompiler
修复- 使用Spark字体引擎时,为确保足够的内存用于堆和字体缓存。
- 在打印错误消息后优雅地退出
QUL_ASSERT
。
- 修复了为Renesas RH850构建时GHS 2018编译器的警告。
- 改进ArcItem实现,确保它与Qt Quick兼容。
- 修复Item实现以确保其 visible 属性的属性绑定更新可见性。
- 修复了IAR裸金属平台上的thermo_demo(基准模式)的堆结构字段,以避免错误的堆使用报告。
- 已更新FreeType光栅化程序以支持
ARGB32_Premultiplied
和ARGB4444_Premultiplied
格式。 - 修复了CMake逻辑以找到Clang资源的正确路径。
新API
应用程序开发API
新QML类型
新QML属性
QML类型矩形
渐变 : 渐变 |
QML类型ShapePath
填充渐变 : 形状渐变 |
平台开发API
新类
新全局函数
void | 生成渐变颜色表(const PlatformInterface::GradientStops &gradientStops, float opacity, PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha) |
前版本更改
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 许可证下提供。
了解更多。