C

Qt Quick Ultralite手表演示

演示了QML和C++在可穿戴设备应用程序中的简单集成。

概述

手表示例演示了一个使用Qt Quick Ultralite构建的可穿戴应用程序。它使用一些基本的QML和一些C++。它适用于具有小屏幕和触摸支持设备。此外,它执行基本的手势识别,演示使用该手势在不同的手表护盾间切换。

基准模式

在基准模式下,应用程序运行预设时间30秒,并在30秒结束时在屏幕上显示性能指标。如果Qt Quick Ultralite Core库使用QUL_ENABLE_PERFORMANCE_CONSOLE_OUTPUT=ON构建,相同的结果也将显示在串行控制台上。

测试结束时显示以下性能指标

参数描述
1总帧数录制间隔内的总帧数。
2平均FPS录制间隔期间的每秒平均帧数。
3最小FPS捕获的最小每秒帧数。
4最大堆内存使用量自应用程序启动以来记录的最大堆内存使用量(字节数)。
5最大堆栈使用量自应用程序启动以来记录的最大堆栈使用量(字节数)。
6平均CPU负载录制间隔内的CPU负载百分比平均值。

基准模式作为名为watch_benchmark的独立CMake目标提供。要运行基准模式,构建和刷新基准模式目标二进制文件。

qmlproject文件包含以下所示的benchmark_module.qmlproject文件

ModuleFiles {
  files: [
  "mode/benchmark_module.qmlproject"
  ]
}

在根QML文件中导入以下模块。

import QtQuickUltralite.Extras 2.0
import Benchmark 1.0
import QtQuickUltralite.Profiling
  • Qt Quick Ultralite Extras模块提供了一个QulPerf对象,允许开始和停止测量。
  • Benchmark模块由benchmark_module.qmlproject文件提供。它提供了模拟触摸手势进行滑动控制的方法。
  • Qt Quick Ultralite Profiling模块提供了一个屏幕叠加QulPerfOverlay,用于在应用程序用户界面上显示性能指标。

在根qml中添加用于基准结果的QulPerfOverlay QML对象。这个遮挡物在30秒后,当触发benchmarkTimer时变得可见。

QulPerfOverlay {
    id: benchmarkResult
    anchors.horizontalCenter: parent.horizontalCenter;
    anchors.verticalCenter: parent.verticalCenter;
    visible: false
}

在根 QML 文件 rootqml/+benchmark/watch.qml 中启动录制,当根对象实例化并触发 Component.onCompleted 信号时。

Component.onCompleted: {
    QulPerf.recording = true
}

应用程序运行30秒。录制在30秒后停止,基准结果屏幕叠加变得可见。

Timer {
    id: benchmarkTimer
    interval: 30000
    running: true
    repeat: false
    onTriggered: {
        QulPerf.recording = false;
        benchmarkResult.visible = true
    }
}

注意:基准模式需要使用 QUL_ENABLE_PERFORMANCE_LOGGING=ONQUL_ENABLE_HARDWARE_PERFORMANCE_LOGGING=ON 编译 Qt Quick Ultralite Core 和平台库。

目标平台

  • EK-RA6M3G
  • MIMXRT1050
  • MIMXRT1060
  • MIMXRT1064
  • STM32F469i
  • STM32F769i
  • STM32H750b

屏幕截图

文件

图片

在特定的 Qt 许可下可用。
了解更多。