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

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

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

4 {4 R/ w( U$ P% F       UI界面上还得有个油表,大部分都是机械指针。这里暂时不使用机械指针,还是使用circleProgress 和 TextArea控件。
# X  j8 Y8 ]: n! f       计划实现的功能就是手滑动circleProgress实现加油,TextArea数字也跟着直观指示。( `5 U8 l1 }$ d7 i$ [( ~
       两个控件的值范围是0-100L,后来想想,一般油箱就50L,不一般的就比较大了。
8 e, k+ W- @/ w& W       书归正传,这里实现只需要在view里实现即可。
# |7 j) b9 r! k; l+ o) [8 `8 r* L       定义界面如图1所示:. j2 {/ B0 |, B# W
5-1.png 2 l: R4 l0 h$ c( p7 p9 A5 g
图1
% K$ c0 i9 V7 h  `      在View.cpp里实现功能,函数实现如下所示:
: q$ m2 c: y  S+ f( T( E
  1. int x = evt.getNewX();    // 手指当前位置 X' g) V" r0 J' h! }3 d( c0 x; R' Y8 H0 f
  2. : ?* R7 [' ?* K5 P  P
  3.     int minX = circleProgress2.getX();7 A8 u1 [$ D, B7 I
  4.     int maxX = minX + circleProgress2.getWidth();
    : O. V$ N" v& a6 n: l5 A

  5. 4 E" |% L: A1 H
  6.     int pos = x - minX;  V$ f' Y/ A& y4 F
  7.     if (pos < 0) pos = 0;
    3 O! H2 U6 K8 p4 K. _
  8.     if (pos > (maxX - minX)) pos = (maxX - minX);+ v2 k- }8 B/ `

  9. / k4 K1 ]+ z* T* t: @, A# G# A2 |
  10.     int value = pos * 100 / (maxX - minX);  // 映射到 0~100
      P$ f) L  N, Z
  11. . _& R( ^: U; B, N* j; l
  12.     // 更新 CircleProgress( `0 E/ C6 T$ f4 `$ @
  13.     circleProgress2.setValue(value);
    , e; B, B) u+ t! J. {2 l
  14. 5 m0 v* h' ?+ h+ e" O5 _8 h: R* S
  15.     // 更新文本& e0 ?9 g8 U# A1 c$ n/ K. Z
  16.     Unicode::snprintf(textArea4Buffer, TEXTAREA1_SIZE, "%d", value);
    7 M, g/ J. n. |8 N+ }
  17.     textArea4.invalidate();
复制代码

2 z  K9 |% N, p: p( Q2 I: t! o
4 K, P8 E: T: s; V) Q* T
7 {9 D: H' i$ \! F5 I
& ^& G$ Q  l' i4 b/ F( H% C
      实际展示效果如图2所示:
) H" s; a) r+ l6 C8 Z: O 5-2.gif
8 z8 q# i1 i9 f4 Y图2
& y' ~+ u% _- E. s+ B& E
赞 收藏 评论1 发布时间:2025-12-9 20:46

举报

1个回答
STMCU-管管 回答时间:2025-12-10 09:26:20

不错不错

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版