896|5

7056

帖子

11

TA的资源

版主

楼主
 

【STM32U599J-DK】TouchGFX之ScroolWheel(滚轮)详细教程 [复制链接]

 
【前言】
作为手表的时间设置,可以使用文本框+按键,其次可以使用键盘+文本框,再者可以使用scroll Wheel控制来实现。相比三种方案,使用scroll Wheel(滚轮),控件少、直观、易操作,而且不需要对输入进行较验。所以作为优选方案。查找了实现滚轮的教程,官方给出了示例文档,几经研究后,感觉还是不是很直观,看到CSDN上有几位大佬也写出了详细的教程,但是版本过旧,所以在学习了官方文档与各路大佬的文章之后,我也初步的学会了scroll Wheel的使用。在此与大家分享如下,如有不对之处,还希望各位大佬给予指点。
【官方的学习示例】
这个教程做得还是比较详细的,有中英文的文档,但是中文的些描述还是不是非常的准确,如果英文比较好的大佬,可以直接阅读英文文档比较好。
【实现步骤】
  1. 创建两个自定义的容器,容器的大小为放置到屏幕上的比例来设置,一个为非选中状态,另一个为选中状态,以此来标定判断选择结果。
  2. 在我们的屏幕中创建一个scroll Wheel控件:
3、修改scroolWheel的属性值如下图,主要是配置文本的位置、个数、选中与非选中的状态等。
到此,我们的界面设计就完成了,接下来需要在工程中对他进行初始化设置。
4、在touchGFX Designer生成代码后,用编译器打开工程:
5、在工程中,有textCenterContainerselect.cpp、textCenterContainerunselect.cpp这是实现自定义控件的cpp,我们需要添回代码来初始化:
其代码为:
void textCenterContainerselect::updateText(int16_t value)
{
Unicode::snprintf(textBuffer, TEXT_SIZE, "%02d", value);
text.invalidate();
}

6、同样添加实updateText到另一个文件下:


7、最后我们在显示中对scrollWheel进行选择中与变化的函数进行实现:
首先我们有MainView.hpp中定义两个虚函数:
virtual void scrollWheelHourUpdateItem(textCenterContainerunselect& item, int16_t itemIndex);
virtual void scrollWheelHourUpdateCenterItem(textCenterContainerselect& item, int16_t itemIndex);

8、最后在mainview.cpp中实现这两个函数:

代码如下:
void MainView::scrollWheelHourUpdateItem(textCenterContainerunselect& item, int16_t itemIndex)
{
item.updateText(itemIndex);
}
void MainView::scrollWheelHourUpdateCenterItem(textCenterContainerselect& item, int16_t itemIndex)
{
item.updateText(itemIndex);
}
到此,我们的界面设计与代码都完成了。在虚拟器上运行效果如下:
下载到开发板上面的效果:
【总结】
到此,我们对scroolWheel控制的使用到一段落,看起来几步的操作,我却花了一个周未的时间,翻看了好多资料与视频,试了N遍,最后实现后,我总结就几个步骤,学习成本非常高。为此我把所有的过程与代码都详细的记录下来,分享给大家,希望对大家有用。
此帖出自stm32/stm8论坛

最新回复

是啊,我记得我们项目开发到结束,不到一年,TouchGFX就更新了四五个版本了。   详情 回复 发表于 2023-12-12 10:17
点赞 关注
 

回复
举报

7244

帖子

2

TA的资源

版主

沙发
 

TouchGFX的教程网上好像不是很多。

此帖出自stm32/stm8论坛

点评

对的,他对的硬件的要求比较高,最近国内用户的ST芯片可能用得少了,用户群体也不大,相比stm32其他的教程,那是相当的少。  详情 回复 发表于 2023-12-11 14:53
 
 

回复

7056

帖子

11

TA的资源

版主

板凳
 
wangerxian 发表于 2023-12-11 14:39 TouchGFX的教程网上好像不是很多。

对的,他对的硬件的要求比较高,最近国内用户的ST芯片可能用得少了,用户群体也不大,相比stm32其他的教程,那是相当的少。

此帖出自stm32/stm8论坛

点评

我记得正点原子有那个教程,不过收费的。  详情 回复 发表于 2023-12-11 16:59
 
 

回复

7244

帖子

2

TA的资源

版主

4
 
lugl4313820 发表于 2023-12-11 14:53 对的,他对的硬件的要求比较高,最近国内用户的ST芯片可能用得少了,用户群体也不大,相比stm32其他的教 ...

我记得正点原子有那个教程,不过收费的。

此帖出自stm32/stm8论坛

点评

对的,收费好象几百块,不过现在版本一个月一个版本在升级,原来的只能拿来借鉴,有些变化大非常大。  详情 回复 发表于 2023-12-11 18:21
 
 
 

回复

7056

帖子

11

TA的资源

版主

5
 
wangerxian 发表于 2023-12-11 16:59 我记得正点原子有那个教程,不过收费的。

对的,收费好象几百块,不过现在版本一个月一个版本在升级,原来的只能拿来借鉴,有些变化大非常大。

此帖出自stm32/stm8论坛

点评

是啊,我记得我们项目开发到结束,不到一年,TouchGFX就更新了四五个版本了。  详情 回复 发表于 2023-12-12 10:17
 
 
 

回复

7244

帖子

2

TA的资源

版主

6
 
lugl4313820 发表于 2023-12-11 18:21 对的,收费好象几百块,不过现在版本一个月一个版本在升级,原来的只能拿来借鉴,有些变化大非常大。

是啊,我记得我们项目开发到结束,不到一年,TouchGFX就更新了四五个版本了。

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表