本文翻译自Qt for MCUs 1.9 released(原文发布于6月23日)
原文作者:Yoann Lopes,Qt公司高级产品经理
校审:Richard Lin
Qt for MCUs推出了更新版本,支持在Linux系统和新的目标平台上创建应用程序、访问新的PaintedItem和字体质量控制API、发现新的demo和示例等等。
您可以在这里申请试用评估版本,商业版用户也可以运行Qt Installer更新到最新版本。
您可在在线文档的更改日志中找到1.9版本的完整更新列表。继续阅读有关此版本的更新内容。
Linux支持
由于Qt的跨平台特性及其在桌面领域的根基,在Linux系统上开发Qt应用程序始终是可行的。Qt Creator IDE和Qt Design Studio等工具作为Qt for MCUs不可或缺的组成部分,从一开始就可用于Linux。而Qt for MCUs工具从最初的1.0版本开始只适用于Windows。现在,这些工具也可在Linux上使用了,如果您也是习惯使用Linux操作系统的用户,它将简化您的工作流程。我们用于测试参考的发行版是Ubuntu20.04。
新特性
- Qt for MCUs SDK现在可在Linux版本的Qt Installer中下载
- QML代码可以在Linux上转换为C++
- Qt for MCUs应用程序可在Linux上预览
- Qt for MCUs应用程序可在Linux上的Qt Creator中交叉编译到目标MCU
新特性价值
如果您已在Linux上构建了最终的应用程序,您可以在自己最熟悉的开发环境中更快地工作、简化工作流程,甚至可能简化您的CI系统。
了解更多
新目标平台:英飞凌Traveo II
Traveo II是英飞凌针对汽车应用推出的32位ARM®微控制器系列。它专为未来的汽车应用设计,在有限内存的Cortex®-M 微处理器上提供大量功能,实现高级应用。Qt for MCUs现在完全支持该系列的最新成员CYT4DN系列,该系列专为数字仪表盘和抬头显示器等中的图形应用而设计。Qt for MCUs能利用该平台提供的所有功能,即使在高分辨率(高达1920x1080)的情况下也能最大限度地提高性能并减少内存使用量。Qt for MCUs是英飞凌官方认证的少数HMI工具包之一,可确保提供最优的开发方式和Traveo II最重要硬件功能的最佳用法。以下是我们的演示。
示例 | Qt for MCUs运行在英飞凌Traveo II系列微控制器上
新特性
- 可在Qt Installer中下载适配TVII-C-2D-6M的开发工具包预编译版本
- Traveo II 的图像/文本blitting和混合、矢量图绘制、多层绘图和多屏显示的硬件实现
- Traveo II新的图像API封装和原生图像压缩API封装
- Traveo II的硬件加速图形效果(高斯模糊、去饱和、不透明蒙版、动态拖尾)
新特性价值
您可以在尖端硬件上开发丰富流畅HMI的汽车应用程序,同时降低成本。
下一步计划
未来版本将包括对TVII-C-2D-4M开发套件 (CYT3DL系列)的支持。
了解更多
自定义开发图形元件
Qt for MCUs附带40多个基本图形组件和控件。虽然这通常足以创建您所需要的GUI,但有时这些现成的组件无法创建最酷炫的图形效果。这就是为什么我们添加了一个简单而功能强大的全新PaintedItem API以便您自定义图形元件。下面是使用该新API实现的示例,为上一节提到的Traveo II创建效果。
示例 | 全新PaintedItem API帮助自定义图形元件
新特性
- QML类型:PaintedItem
- C++类:PaintedItemDelegate
- 示例:PaintedItem和tvii_Effects
该API的常见用例
从应用程序代码中直接绘制到帧缓冲区
- 使用平台绘图API(如VGLite、DMA2D、PXP等)创建自定义的图形元件或自己的库。
- 高级性能优化:完全控制渲染的内容和方式
新特性的重要性
极大扩展了UI可能性。不再局限于内置QML组件。
新特性的价值
可以(重新)使用自己或第三方的图形代码。充分发挥硬件性能。
字体质量
字体数据可能需要大量内存,特别是在必须支持多种语言和/或需要多种字号和字体样式。为了缓解这些挑战,我们添加了一组新API,让您能更好地控制字体的内存占用,现在您可以选择以低质量或高质量渲染文本。默认高质量的字形使用每像素8位Alpha 映射,新的低质量设置为每像素1位。虽然它可以显著减少占用空间,但低质量会导致文本看起来像素化,弯曲边缘没有抗锯齿。

新特性
- QML属性:font.quality
- 枚举值:Font.QualityVeryLow和Font.QualityVeryHigh
- CMake属性:QUL_DEFAULT_FONT_QUALITY和QUL_AUTO_GENERATE_GRAPH
- 示例:Font Quality example
新特性的重要性
使用质量较低的字体可以极大减少内存占用。对于RAM和/或闪存很少的设备尤其重要。
下一步计划
未来版本将增加中等质量级别,以实现更好的控制:每像素2、4和6位。
还有更多!
对恩智浦i.MX RT 1170多层渲染的支持
Qt for MCUs 1.7引入了硬件多层渲染API来优化应用程序性能。参考的适配平台我们选择NXP i.MX RT1170,新版本使用LCDIFV2模块实现这些API,以充分利用硬件加速能力,该平台上可以使用最多8个图形层。了解更多信息,请点击这里。
改善RTOS集成
添加了新的平台抽象API,以支持在RTOS上运行的多任务应用程序时能够更好地集成GUI。可以集成操作系统自带的消息队列,从而在Qt for MCUs中使用中断安全和线程安全的事件处理。了解更多信息,请访问这里。
手势demo
Demo | 使用Qt for MCUs 1.9实现不同类型的单点手势
我们添加了一个新的demo,展示如何使用Qt for MCUs实现不同类型的单点手势:长按、滑动、边缘滑动和循环滑动。这对于可穿戴设备或其他使用触控手势控制的设备尤其重要。SDK中包含完整的源代码,在您的应用程序中重复使用它可以节省实现复杂手势的时间。更多详细信息,请参阅此文档页面。
Camera集成示例
这个新示例解释了如何使用Qt for MCUs API在QML UI中集成平台特定的图像数据。它可用于恩智浦的i.MX RT1050、RT1060和RT1064。它使用开发板套件中包含的摄像头模块与QML UI一起实时显示视频帧。可以重用相同的方法来集成视频回放。点击此处查看更多内容。
下一步计划
Qt for MCUs 1.9是1.x系列最后一个版本。从今年下半年开始,我们的产品开发策略将集中在稳定性、工具改进以及特性开发上。今年晚些时候,我们将发布一个重要的新版本v2.0,它将改进我们在2020年和2021年增加的许多功能,简化与定制硬件的集成,并加快图形用户界面设计和开发工作流程。我们还将在Qt for MCUs 2.x系列提供长周期支持版。敬请关注更多有关Qt for MCUs新里程碑的信息!
本文介绍了QtforMCUs 1.9版本的主要更新,包括在Linux上全面支持开发工具、新加入的英飞凌TraveoII平台支持、自定义PaintedItem API和字体质量控制。此版本旨在提升开发效率并扩展UI可能性。
1087

被折叠的 条评论
为什么被折叠?



