Qt for MCUs 2.4使各行业的开发者能够为资源受限和成本效益高的嵌入式设备创建类似智能手机的下一代图形用户界面,而且比以往任何时候都更加轻松和灵活。由于我们用户的不断反馈,这个新版本包括了一些新的功能和改进,包括对精灵动画的支持,更灵活的代码生成和构建过程,等等
这个版本的完整变化列表在在线文档的变化日志中。继续阅读以了解关于这个版本内容的更多细节。
Sprite动画
AnimatedSprite和AnimatedSpriteDirectory是新的Qt Quick Ultralite类型,能够播放预先渲染好的视频帧,具有动画速度控制和编译时优化功能,以减少ROM的使用。
复杂的动画和图形效果正在成为现代基于MCU的GUI设计中的一个普遍要求。由于微控制器中没有内置的视频解码器和3D硬件加速,因此很难达到预期的效果。新的API,既是Qt6的AnimatedSprite的子集,也是它的扩展,有助于在合理的内存成本下创建不同类型的动画。
动画图标是精灵动画的一个常见用例,但Qt Quick Ultralite的高效实现也很适合更高分辨率的用例,如设备启动动画、短视频或任何无法在MCU上实时渲染的复杂动画,如3D。
动画图标的例子
三维开机动画序列的例子
一个动画的帧可以被整理成一个单一的图像资产,或者作为单独的文件存储在一个目录中。与普通的图像一样,资源设置可以用来微调性能和大小。帧在编译时还会被优化,通过重复使用帧之间的共同区域来减少ROM的占用。
未来的版本将引入新的优化选项来自动进一步减少数据大小。
独立的QML到C++代码生成
qmlprojectexporter是Qt for MCUs 2.2 LTS作为技术预览版引入的一个新的命令行工具。在Qt for MCUs 2.4中,该工具在首次发布后得到了许多改进和修复,被升级为一个稳定的功能。
自从Qt for MCUs 1.0发布以来,Qt for MCUs应用程序的代码生成和更普遍的构建过程一直被捆绑和限制在CMake的使用中。虽然上述流行的构建系统仍然是默认和首选的方法,但qmlprojectexporter通过从QML文件和你的应用程序中的其他GUI相关资源提供独立的C++代码生成,实现了许多新的开发和构建工作流程。例如,它可以用来在任何第三方IDE项目或构建系统中整合Qt Quick Ultralite GUI。