C

Qt Quick Ultralite概述

Qt Quick Ultralite将Qt的核心图形用户界面特性带到了由微控制器(MCU)驱动的资源受限的嵌入式系统。它提供了一个丰富的QML API集,用于构建流畅的GUI,并包含一个高效的图形引擎来渲染基于Qt Quick的图形用户界面(GUI)。

Qt Quick Ultralite了解MCU平台上对资源的限制,如内存占用和CPU周期。它使您的应用程序能够在这些MCU平台上充分利用可用的资源进行优化。

主要特性

显示文本
  • 任何分辨率
  • GPU支持
  • 硬件加速层
  • 灵活的帧缓冲
  • 90、180和270度旋转显示内容
  • 软件矢量图形
  • 运行时或编译时字体渲染
  • 支持任何语言
  • 抗锯齿
  • 文本换行
  • RTL和BiDi
  • 支持丰富文本,允许在文本项中添加图像和图标。
控件效果
  • 超过20个现成的UI控件,使用QML构建流畅的GUI
  • 强大的动画框架
  • 2.5D效果
样式输入
  • 自定义样式和主题
  • 集成任何输入设备
  • 触摸界面上的虚拟键盘
2D绘图工具
  • 2D矢量图形和形状(矩形、线、弧、路径等)。
  • 抗锯齿
  • 适用于QML、图像和字体资源的C++03(ISO/IEC 14882:2003)、C++11(ISO/IEC 14882:2011)和C++14(ISO/IEC 14882:2014)兼容的代码生成器。
  • CMake和GHS MULTI IDE的工程生成器。
图像平台支持
  • 各种8位、16位、24位和32位像素格式。
  • PNG和RLE图像压缩
  • 动画图像
  • 运行时图像着色
  • JPEG解码
  • 支持来自瑞萨、恩智浦、英飞凌、意法半导体等最流行MCU的端口。
  • 支持裸机或RTOS,如AUTOSAR或FreeRTOS。
其他
  • 丰富的文档、教程和示例。

最小硬件要求

Qt Quick Ultralite包含了一组针对主流MCU平台评估套件的平台实现。有关这些平台列表,请参阅支持的目标板和开发主机

您可以将 Qt Quick Ultralite 应用于任何能驱动显示的现代 MCU 平台,且满足以下要求:

  • 微控制器/处理器:Cortex M4、M33 或更高。浮点运算单元(FPU)是可选的,但会显著提高性能。
  • RAM(内部/外部)
    • 静态 RAM:最小应用20 Kb,典型应用200 Kb 或更多。
    • 堆栈:2-12 Kb。
    • 堆:20 Kb。

    您还需要足够的 RAM 来存储帧缓冲区,这取决于显示尺寸、颜色深度以及帧缓冲区策略(单缓冲或双缓冲)。

  • 闪存/只读存储器:500 KB 或更多。
  • GPU/硬件加速是可选的,但要达到动画超过 20 FPS 的帧率,则是必须的。
  • 显示接口:RGB、MIPI-DSI 或 LVDS 用于高分辨率和速率的 SPI,或并行用于低分辨率和/或低帧率。
  • 支持 Qt Quick Ultralite 所支持的一种像素格式的图形驱动程序。

注意:您获得的最高分辨率和帧率取决于显示接口。

硬件加速

Qt Quick Ultralite 支持硬件加速的平台,否则它使用 CPU 作为后备来渲染图形。尽管硬件加速在以每秒帧数超过 20 fps 运行动画时是理想的,但它并非是强制性的。

以下图形操作根据 MCU 平台可能实现硬件加速:

  • 图像绘制
  • 文本绘制
  • 矩形绘制
  • 2D 路径绘制
  • 在图像、文本、矩形和路径上应用 2D 和 2.5D 变换
  • 混合(图像、文本、矩形、路径、图层)
  • 运行长度编码(RLE)图像解码

Qt Quick Ultralite 随带以下驱动程序的硬件加速图形实现:

  • CyGfx(Infineon TRAVEO™ T2G)
  • Dave2D(Renesas RA6)
  • DaveHD(Renesas RH850)
  • PxP(NXP i.MX RT)
  • VGLite(NXP i.MX RT1170)
  • Chrom-ART(STM32)

内存占用

RAM 使用量取决于显示的大小和颜色深度、所使用的 Qt Quick Ultralite 功能以及应用程序中的 GUI 元素数量。

典型应用程序可能会有以下内存占用,具体取决于它所使用的分辨率和颜色深度的组合:

  • 低分辨率和颜色深度:至少 150-250 Kb
  • 中分辨率和颜色深度:至少 400-700 Kb
  • 高分辨率和颜色深度:2 Mb 或更多

一个 Qt Quick Ultralite 应用程序的闪存或只读存储器使用量取决于它使用的图像和字体数量。通常,500 Kb 到 10 Mb 的闪存或只读存储器足够。

注意:Qt Quick Ultralite 提供了不同的帧缓冲策略,有助于减少内存占用。例如,部分帧缓冲可以将 RAM 消耗降低至少 10%。

与 Qt Quick 的兼容性

自版本 1.3 以来,Qt Quick Ultralite 提供的 QML 子集与 Qt Quick 兼源码兼容。这使您可以使用 Qt Quick 运行 Qt for MCUs 应用程序。这也意味着您可以在 Qt for MCUs 应用程序中重用基于 Qt Quick、Qt Quick Controls 或 Qt Quick Timeline 的现有代码。

尽管大多数 Qt Quick Ultralite 代码与 Qt Quick 一起工作,但仍有一些限制,您应该了解。以下主题涵盖了两个 QML 类型集之间的差异,并有助于您有效地使用它们。

在各种 Qt 许可证下可用。
了解更多信息。