你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H750-DK 车辆仪表】5.油表

[复制链接]
jundao721 发布时间:2025-12-9 20:46

       UI界面上还得有个油表,大部分都是机械指针。这里暂时不使用机械指针,还是使用circleProgress 和 TextArea控件。
       计划实现的功能就是手滑动circleProgress实现加油,TextArea数字也跟着直观指示。
       两个控件的值范围是0-100L,后来想想,一般油箱就50L,不一般的就比较大了。
       书归正传,这里实现只需要在view里实现即可。
       定义界面如图1所示:
5-1.png
图1
      在View.cpp里实现功能,函数实现如下所示:
  1. int x = evt.getNewX();    // 手指当前位置 X

  2.     int minX = circleProgress2.getX();
  3.     int maxX = minX + circleProgress2.getWidth();

  4.     int pos = x - minX;
  5.     if (pos < 0) pos = 0;
  6.     if (pos > (maxX - minX)) pos = (maxX - minX);

  7.     int value = pos * 100 / (maxX - minX);  // 映射到 0~100

  8.     // 更新 CircleProgress
  9.     circleProgress2.setValue(value);

  10.     // 更新文本
  11.     Unicode::snprintf(textArea4Buffer, TEXTAREA1_SIZE, "%d", value);
  12.     textArea4.invalidate();
复制代码




      实际展示效果如图2所示
5-2.gif
图2
收藏 评论1 发布时间:2025-12-9 20:46

举报

1个回答
STMCU-管管 回答时间:5 天前

不错不错

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版