1002|7

6969

帖子

11

TA的资源

版主

楼主
 

【STM32U599J-DK】智能手表之表盘控件的使用 [复制链接]

本帖最后由 lugl4313820 于 2023-12-8 08:05 编辑
前一篇介绍手表之文字实现。但是没有表盘,怎么能说是手表,在学习touchGFX后这一期给大家分享如何快速实现表盘。
【学习资料】
表盘是touchGFX给出的成个成品表盘,可以以一个控制的形式加载到屏幕,快速实现表盘的制作。
【实现步骤】
把表盘放到屏幕上后,添加一个数字时钟:
再放置一个文本域用于温度计:
【代码实现】
在前面的MPV模式设计中,我们已经实现了对RTC实时时钟的时间与温度值的获取,我们只需要添回第二个屏幕的View的代码实现就行了。
  1. 在Presenter.hpp中添回数值转化的虚拟函数:
    virtual void NotifyTempValudChanged(float value, RTC_TimeTypeDef GetTime, RTC_DateTypeDef GetData);
  2. 在.cpp中实现该函数:
    void ScreenClockConfigPresenter::NotifyTempValudChanged(float value,
    RTC_TimeTypeDef GetTime, RTC_DateTypeDef GetData)
    {
    view.setTempValud(value, GetTime, GetData);
    }
  3. 在View的.hpp中添加虚拟函数:
    virtual void setTempValud(float value, RTC_TimeTypeDef GetTime, RTC_DateTypeDef GetData);
  4. 在.cpp实现更新时钟与温度值:
void ScreenClockConfigView::setTempValud(float value,
RTC_TimeTypeDef GetTime, RTC_DateTypeDef GetData)
{
digitalClock.setTime24Hour(GetTime.Hours, GetTime.Minutes, GetTime.Seconds);
analogClock.setTime24Hour(GetTime.Hours, GetTime.Minutes, GetTime.Seconds);
Unicode::snprintfFloat(textAreaTempBuffer, TEXTAREATEMP_SIZE, "%2.2f", value);
textAreaTemp.invalidate();
}
【项目效果】:
【讨论】
在两个时钟的实现方式上,一个是采用textArea,一个是用analogClock与digitalClock控件来实现,相比第二种会简单许多。而且第二种在不用修改代码的前提下,更换多种表盘:
而我们对比两个设计的界面与逻辑代码的实现都是不相同的:
显而易见,第二种实现的方式要简洁、美观得多。
【总结】
在touchGFX中,给出了许多控件,我们要学习并熟练的运用,会收到事半功倍的效果。
此帖出自stm32/stm8论坛

最新回复

很有意思的表盘控件,感谢楼主分享,学习到了   详情 回复 发表于 2023-12-9 16:00
点赞 关注
 

回复
举报

2万

帖子

74

TA的资源

管理员

沙发
 

嗯 第二种带设计感。

此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 

回复

281

帖子

7

TA的资源

一粒金砂(高级)

板凳
 

楼主使用touchGFX渐入佳境哈,做的设计越来越炫酷了

此帖出自stm32/stm8论坛
 
 

回复

6105

帖子

4

TA的资源

版主

4
 

touchGFX 还有成品表盘  LVGL都是搞个图片整上去的额。

此帖出自stm32/stm8论坛

点评

系统提供了素材,好象还可以微调,当然也可以自己做控制。  详情 回复 发表于 2023-12-8 19:33
 
 
 

回复

7175

帖子

2

TA的资源

版主

5
 

背景骚紫加分,话说TouchGFX现在有些控件自带素材了?

此帖出自stm32/stm8论坛
 
 
 

回复

6969

帖子

11

TA的资源

版主

6
 
damiaa 发表于 2023-12-8 16:12 touchGFX 还有成品表盘  LVGL都是搞个图片整上去的额。

系统提供了素材,好象还可以微调,当然也可以自己做控制。

此帖出自stm32/stm8论坛

点评

touchGFX如果跟lvgl一样开放,那就牛了,不过touchgfx对硬件的要求挺高的,有一定的门槛吧。  详情 回复 发表于 2023-12-8 19:34
 
 
 

回复

6969

帖子

11

TA的资源

版主

7
 
lugl4313820 发表于 2023-12-8 19:33 系统提供了素材,好象还可以微调,当然也可以自己做控制。

touchGFX如果跟lvgl一样开放,那就牛了,不过touchgfx对硬件的要求挺高的,有一定的门槛吧。

此帖出自stm32/stm8论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

8
 

很有意思的表盘控件,感谢楼主分享,学习到了

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表