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

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

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

6 [% y4 _. c# `  S3 l( v# F       UI界面上还得有个油表,大部分都是机械指针。这里暂时不使用机械指针,还是使用circleProgress 和 TextArea控件。2 G9 H* `' ^6 j4 X1 G  j
       计划实现的功能就是手滑动circleProgress实现加油,TextArea数字也跟着直观指示。
( F5 T, a. G; O+ g1 g( {       两个控件的值范围是0-100L,后来想想,一般油箱就50L,不一般的就比较大了。
6 r- z3 }: t  e' @9 u# L       书归正传,这里实现只需要在view里实现即可。
/ R  u; U) m3 r       定义界面如图1所示:6 \4 }, `, B9 R9 C( i
5-1.png
; _5 C' h# V3 c6 Y& o( p2 }8 [图1, I/ v* s: @) {# Y9 U/ Z
      在View.cpp里实现功能,函数实现如下所示:
8 A( I) u3 p8 t; B/ u+ w3 k% U; I
  1. int x = evt.getNewX();    // 手指当前位置 X! E+ F, |3 a* B, q0 i
  2. " p: _+ {2 N! F, x6 J7 ]
  3.     int minX = circleProgress2.getX();- [, g, M9 o7 }4 m2 h( u
  4.     int maxX = minX + circleProgress2.getWidth();8 @. I3 \6 X, D- |) b
  5. . E- N% J: p  g0 D: K
  6.     int pos = x - minX;
    : \8 t0 c( W' }, T6 X
  7.     if (pos < 0) pos = 0;7 C8 {. h1 {; U2 K$ O! f
  8.     if (pos > (maxX - minX)) pos = (maxX - minX);! ?2 w' k& Q& R$ N% E

  9. ' i" m7 ^5 u& S9 E% o% h: u8 F
  10.     int value = pos * 100 / (maxX - minX);  // 映射到 0~100
    ! E. u% w2 y. C* j
  11. 8 y; J  h# z$ L' m
  12.     // 更新 CircleProgress9 L7 s0 z2 ]/ o- b/ ]# b/ r% E
  13.     circleProgress2.setValue(value);
    # N+ P$ A; }7 S

  14. % X% x/ O1 a' G' ?: T
  15.     // 更新文本
    % d& A0 T; p) W/ W! k" p; j
  16.     Unicode::snprintf(textArea4Buffer, TEXTAREA1_SIZE, "%d", value);
    $ j: I% T7 v! y5 u7 b$ R0 _  ~& U
  17.     textArea4.invalidate();
复制代码
* J& O0 [) Z$ n7 e: N
* p( o" e9 S* _( S+ o* L

, ^" x  Y. j; M1 O- r

3 x; F5 p& D. [; X6 k  b. @2 @      实际展示效果如图2所示:
. U! D/ h' Z) e) F1 ` 5-2.gif
* H; o: R9 h7 e  @. k/ C1 T8 A. m图2
. i- K2 \" L4 H3 o7 {5 Z
赞 收藏 评论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 手机版