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

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

[复制链接]
STMCU小助手 发布时间:2022-3-10 22:20
一、界面布局以及资源添加) E6 \+ N, p$ m$ }3 q
1、创建自定义控件& S& _  M; R# T: Q
这里解释一下为什么要创建两个自定义控件:因为Scroll Wheel控件中有可以指定item选中和不选中时的样式。正好是我们最终需要实现的样式,所以我们在这要建两种样式。
8 w+ w4 T, l! x' h0 W9 D' `不选中的item样式9 n* F( b- r8 O& B- c, K
+ a0 [$ ]( @2 ~" s3 ?4 B
C)3LW]93J])8J4(E[GWR]OK.png ! G& v/ e5 j- n3 m  P( k

* z) }6 \, h3 E: A) N6 R3 Q; j7 L选中的item样式: S& t2 \6 R/ X1 o' k
; F1 R& C& U! [
TC1QBK(BQN1UR(DELS{6H1V.png
% d, n1 ~6 V% S1 H9 Y' E
) O$ V  q, U; r$ M: G2 w& C! D2、创建主screen界面
! B1 k! _7 D" r) _( d% s( M+ b- |4 V8 d
)TJM]XT)97]([E~PG)RPZUD.png
0 H5 a/ X# u& Y0 x$ y; X1 K' q( ~8 h# P! J# d8 q; X
3、Scroll Wheel关键参数设置

1 A) U% c* w1 w9 e
& R1 L8 @3 A7 i+ S$ M% M7 y# t @L427T]`GEWW@NIOHL[7MNV.png 5 R& ^% E8 Y- c$ H6 f7 G. l7 g
; V, N9 n4 a8 \- Q: t
备注: 为了方便演示,本工程的背景图直接用的touchgfx界面里自带的图片。& u8 m* ?' j3 e0 `( Q8 D# ?
1 s* d0 \4 N4 o5 e6 B1 E6 {1 z
二、功能实现
/ _( J- T  v7 r& k8 A3 p% c1、自定义控件设置文本
) V- _# U1 N! z8 M3 z
两个自定义控件内都要实现,这里只列出一个。3 D' E" F0 X$ s

8 O  S4 o7 t- }; s( \+ G 6%9ZLP@~%G7@M$N_69LZW99.png
: \8 X) M" q8 c
$ I. m: g5 X! ^7 x3 e0 V* F2、实现Scroll Wheel自带的更新虚函数4 Z, U$ i; E  u$ [
下图是Scroll Wheel组件自带的虚函数
! |" D4 n- y2 m& V8 D5 |  A; ]% O) z' e; S) X! J% i$ ]
2R`WYH`R47ONUV_N)WPIP79.png 4 y+ V1 _/ Q8 r, w% n% E
0 A8 X. h& N$ v8 ?2 e' |) v1 a) ]
将其拷贝到Screen1View.h文件中,并在.c文件中实现  T) ^0 {& R5 n( J# Y9 f% C! O5 g
1 E& R! E  j" H, _4 V
G_C%P7T8IQCBR_@~1M6H6(0.png % r" T4 r0 H6 a# R& b
& k& u8 t, x9 n' h+ W0 |! V
        实现后的代码如下
! k" d  X" s4 L4 G8 Y# L' r, j. k3 M7 h% s# W( t( W& J
5 B5 y1 n. G' D2 |/ P4 o, j

; t, A. I0 s7 w& y4 p4 J/ {/ n3、主界面的构造函数中添加界面初始化代码
6 d  S+ v7 n2 ^, {& Z$ M! q4 K  D) y$ _$ k" f+ p
@4LGXU(`1){UXK$EK6KQO.png
4 G: f  M! V3 ]# C9 p) ~3 C6 y) a  E/ i8 N$ ~
  1. //采用参数列表初始化方式2 G0 P6 h6 D$ c0 h$ _- Y# y
  2. Screen1View::Screen1View() :callback(this, &Screen1View::callbackHandle): J! ^0 E1 o  U; `5 W& ^
  3. {
    ) [5 \! M1 u5 @) _, Z- X
  4.          //给scrollWheel1绑定回调函数% s0 `8 b8 Q, \1 ?: F3 E
  5.         scrollWheel1.setAnimateToCallback(callback);% l8 u3 Q6 m5 O* V/ P
  6.          //设置scrollWheel1显示item
    3 q# @3 h6 h! z5 h
  7.         scrollWheel1.animateToItem(scrollWheel1.getNumberOfItems()/2 );
    ! H8 B7 V+ ^/ |+ O. H) d
  8.         
    3 B7 p/ r# N' p4 ~4 s
  9. }
    & I) G; r; a+ y) \4 q0 f- }

  10. 3 d/ K- f. y* y0 ^2 V
复制代码

$ `% Z7 D- x; q/ N+ g
# p0 j3 G/ @! C
; w4 i' B: ]' U6 ?
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 手机版