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

【经验分享】stm32基于TouchGFX的GUI开发(五):(Scroll Wheel)滚轮容器的使用

[复制链接]
STMCU小助手 发布时间:2022-3-10 22:20
一、界面布局以及资源添加7 i; X* x" T( J/ u) r' ^
1、创建自定义控件
; g" |- V3 e$ S1 S1 ^这里解释一下为什么要创建两个自定义控件:因为Scroll Wheel控件中有可以指定item选中和不选中时的样式。正好是我们最终需要实现的样式,所以我们在这要建两种样式。6 ~6 o. I$ i: w
不选中的item样式6 `. U9 L- S# W1 d( V
, ^7 J2 g8 E9 n$ c% D0 x6 e% z: B
C)3LW]93J])8J4(E[GWR]OK.png # F1 l( D5 v% V; n+ l

. M# L, E* ?3 ]+ R  S2 X# U" A选中的item样式) H' |) {. O' ^- r* ^3 w
) H+ l6 }% p# E/ e/ I5 v
TC1QBK(BQN1UR(DELS{6H1V.png " [, B; D0 O( G4 ~" G( _
" g3 ~' {) `" p5 r2 Q
2、创建主screen界面
+ E8 T' e% }: E. j/ v2 f2 X8 H& \4 y7 ^1 h) x
)TJM]XT)97]([E~PG)RPZUD.png & Z3 {  u4 e+ N! W
4 {# ~! B. k: [& K
3、Scroll Wheel关键参数设置
/ u% w, C, {- Y2 h

+ o8 b1 h3 f1 d1 D( j+ Q' k @L427T]`GEWW@NIOHL[7MNV.png . x1 K! p) \/ j( [; m
$ R  j) d: [3 \* t- c
备注: 为了方便演示,本工程的背景图直接用的touchgfx界面里自带的图片。4 P4 C2 Q. t( S% l3 s. C/ p# ^
6 ?9 E4 K3 ?; n7 Z% z. Z
二、功能实现+ U" L" i  ^9 A+ `; v
1、自定义控件设置文本
: u: I% A0 Z- U- C
两个自定义控件内都要实现,这里只列出一个。
, ~$ Y2 h. Q3 z% s  t' P; Q! N3 F
6%9ZLP@~%G7@M$N_69LZW99.png + T% K) O' b: L) i4 O/ |, f( S# p

- h3 P- F; b: f! e# o1 m2、实现Scroll Wheel自带的更新虚函数1 p$ r/ T: ], j- R
下图是Scroll Wheel组件自带的虚函数, f6 q2 g; l. {7 S; f  d. q
: L0 v% x% }8 F1 ?' G* T4 Y
2R`WYH`R47ONUV_N)WPIP79.png
0 c2 y# [2 j- h" v% [1 i
, N: e( y( D& P0 L将其拷贝到Screen1View.h文件中,并在.c文件中实现
3 k/ w" x! c* e) j1 l4 {2 }( G3 R$ Y* H. }/ z
G_C%P7T8IQCBR_@~1M6H6(0.png # |, v; E! u. r0 a& B

8 p& I9 e& s2 E3 ]        实现后的代码如下
2 `: j) S; @0 q$ r0 h! ^) L" _: b

' i% r7 e6 \( z5 e6 A
4 s, v: s! C2 j9 |8 T3、主界面的构造函数中添加界面初始化代码
2 g: S* n1 [' ^4 ?4 f: |0 B
+ x1 m6 y) D8 D+ I8 X @4LGXU(`1){UXK$EK6KQO.png
3 B4 A- ~' n9 n* T2 Q8 k% T+ {
1 k( n7 B8 O1 h; n3 K. S* x
  1. //采用参数列表初始化方式4 m, j  s4 f" O7 v1 {  t: C
  2. Screen1View::Screen1View() :callback(this, &Screen1View::callbackHandle)
    ; D3 q; Q6 U3 w* E
  3. {/ ]  D) r7 t5 f8 P% ]6 h& k" x
  4.          //给scrollWheel1绑定回调函数3 u4 u& P. {% x5 y
  5.         scrollWheel1.setAnimateToCallback(callback);& f5 Q; A8 [  F1 }2 T# Q
  6.          //设置scrollWheel1显示item
    4 i8 E% R: [1 k) i$ e
  7.         scrollWheel1.animateToItem(scrollWheel1.getNumberOfItems()/2 );$ X3 }. J& E6 ^  B& m) T
  8.         
    : ^! D5 f) j8 X; K
  9. }7 K$ x- r# g" Z- J9 y

  10. 8 ^1 d3 B4 m, l# a) @
复制代码

3 Q$ g- ]2 f* g) W) x( e  w1 x; n: p

* q: ^7 x& _  n" h6 Q6 A
IW2R)R9{V@(%$39@D7MXA)E.png
赞 收藏 评论0 发布时间:2022-3-10 22:20

举报

0个回答

所属标签

相似技术帖

官网相关资源

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