0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TouchGFX代码框架以及如何添加用户代码

嵌入式程序员 来源:嵌入式程序猿 作者:嵌入式程序猿 2021-01-18 11:28 次阅读

1. 摘要

本文档主要介绍,TouchGFX代码框架以及如何添加用户代码。

2. 准备工作

可以正常运行的TouchGFX工程

3. 代码结构

TouchGFX的框架是基于MVP模型设计,代码结构主要分为三大类,GUI引擎,生成代码,用户代码,首先先看什么是MVP,即Model, View, Presenter。下图可以很明显清除的看到每一部分负责什么,干什么工作,Presenter是model和View之间的桥梁,View负责显示,Model负责交互,这三大类撑起了TouchGFX的天空,你可以再里面任意翱翔。

76ea3716-58f7-11eb-8b86-12bb97331649.png

77ec4b90-58f7-11eb-8b86-12bb97331649.png

清除了MVP结构后,对代码结构的理解和应用的开发有很大帮助,TouchGFX Design生成的代码位于工程的generated/gui_generated

7830575e-58f7-11eb-8b86-12bb97331649.png

而用户代码位于gui文件夹下,gui文件夹下的代码自己可以编辑,自己实现的代码也是添加在这里。

7871950c-58f7-11eb-8b86-12bb97331649.png

例如上次我们给大家推送的电阻屏校准就是在用户代码侧,通过手写代码来实现。理解了代码结构,在加上熟悉API就可以很方便的开发GUI界面了,不管是用Designer,还是自己动手写,如我们校准触摸屏的时候,需要先画一个小圆,自己动手画一个圆。定义变量

78abd5c8-58f7-11eb-8b86-12bb97331649.png

在cpp文件中添加代码

793fea6a-58f7-11eb-8b86-12bb97331649.png

这样就实现了在屏幕左上角画了一个半径为10的实心圆。如要画空心圆,将线宽不要设置为0,另外注意画空心圆时候,半径必须减去线宽。同理就可以实现手动绘制2D图形。

责任编辑:xj

原文标题:TouchGFX中生成代码与用户代码

文章出处:【微信公众号:嵌入式程序猿】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4742

    浏览量

    68333
  • 生成
    +关注

    关注

    0

    文章

    6

    浏览量

    13597
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    13206

原文标题:TouchGFX中生成代码与用户代码

文章出处:【微信号:InterruptISR,微信公众号:嵌入式程序员】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LP5891-Q1示例代码用户指南

    电子发烧友网站提供《LP5891-Q1示例代码用户指南.pdf》资料免费下载
    发表于 11-12 14:08 0次下载
    LP5891-Q1示例<b class='flag-5'>代码</b><b class='flag-5'>用户</b>指南

    代码整洁之道-大师眼中的整洁代码是什么样

    几个月前写了一篇文章“如何写出难以维护的代码”,从中能大概了解到不好维护的代码是什么样,有哪些坏味道,那肯定有人会反问,难以维护的代码见的太多了,也知道长什么样,但是对于好维护的代码
    的头像 发表于 09-09 16:30 282次阅读
    <b class='flag-5'>代码</b>整洁之道-大师眼中的整洁<b class='flag-5'>代码</b>是什么样

    国内低代码平台推荐--万界星空科技低代码平台

    代码平台是一种应用程序,它为编程提供图形用户界面,从而以极快的速度开发代码,减少传统编程工作。 这些工具有助于快速开发代码,最大限度地减少手工编码的工作量。这些平台不仅有助于编
    的头像 发表于 07-18 15:39 259次阅读
    国内低<b class='flag-5'>代码</b>平台推荐--万界星空科技低<b class='flag-5'>代码</b>平台

    touchgfx生成了代码,也能编译成功,但下载之后无法显示图像是什么原因?

    我用touchgfx生成了代码,也能编译成功,但下载之后无法显示图像,可能是什么原因?
    发表于 07-03 08:19

    该如何提高代码容错率、降低代码耦合度?

    提高RT-Thread代码的容错率和降低耦合度是确保代码质量和可维护性的关键,下面列举了几种在编写代码时,提高代码容错率和降低耦合度的思路。让我们一起来看看吧~一、提高
    的头像 发表于 06-26 08:10 613次阅读
    该如何提高<b class='flag-5'>代码</b>容错率、降低<b class='flag-5'>代码</b>耦合度?

    探讨AI编写代码技术,以及提高代码质量的关键:静态代码分析工具Perforce Helix QAC &amp; Klocwork

    令软件开发人员夜不能寐的事情比比皆是。如今,他们最关心的问题不再是如何用自己喜欢的语言(C、C++、Erlang、Java 等)表达最新的算法,而是人工智能(AI)。 本文中,我们将介绍AI编写代码
    的头像 发表于 06-05 14:10 367次阅读

    touchgfx生成代码报错怎么解决?

    touchgfx生成代码报错,怎么解
    发表于 06-03 08:51

    stm32CubeMX怎么添加中断以及相应的代码或者.c和.h文件?

    我想咨询一下,用stm32CubeMX生成的工程里边 怎么添加中断以及相应的代码或者.c和.h文件。我跑的是freertos系统,能不能在stm32CubeMX里边直接添加啊。
    发表于 04-29 08:17

    AI代码助手,企业软件工程未来主流工具

    AI代码助手不仅能自动生成和完善代码,更是一位高效的协作伙伴,通过激发创新思维和提升代码质量,助力开发者提升效率,进一步提升其技术水平和对各类编程框架的掌握能力。
    的头像 发表于 04-12 15:58 386次阅读

    使用touchGFX生成代码后,在该工程上再做些许改动STM32CUBEIDE都会频繁报错的原因?

    使用touchGFX生成代码后,只要是在该工程上再做些许改动,STM32CUBEIDE都会频繁报错make: *** No rule to make target
    发表于 03-12 07:50

    【鸿蒙】NAPI 框架生成工具实现流程

    NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件一键生成 NAPI 框架代码、业务代码
    的头像 发表于 02-28 17:00 640次阅读
    【鸿蒙】NAPI <b class='flag-5'>框架</b>生成工具实现流程

    【鸿蒙】OpenHarmony 4.0蓝牙代码结构简析

    OpenHarmony 4.0蓝牙代码结构简析前言 OpenHarmony 4.0上蓝牙仓和目录结构进行一次较大整改,本文基于4.0以上版本对蓝牙代码进行分析,便于读者快速了解和学习
    的头像 发表于 02-26 16:08 1474次阅读
    【鸿蒙】OpenHarmony 4.0蓝牙<b class='flag-5'>代码</b>结构简析

    g代码和m代码表示什么功能

    G代码和M代码是数控机床程序中常用的两种指令代码,用于控制数控机床的工作动作和运动方式。 G代码是指控制机床工作动作的指令代码,它是一种简单
    的头像 发表于 02-14 15:49 3969次阅读

    devicestates指令故障代码基本概念

    “devicestates”指令故障代码是指在设备管理系统中发生错误或故障时,系统生成的特定代码或消息。这些代码和消息旨在为用户或技术支持人员提供有关设备故障的信息和诊断。通过检查和解
    的头像 发表于 12-08 14:19 1495次阅读

    python软件IDLE怎么打多行代码

    用于编写、编辑和运行Python代码的编辑器窗口。在IDLE中编写多行代码有几种方法可以实现。 使用括号与换行符: 在IDLE中编写多行代码的一种常见方法是使用括号来将多行代码括起来,
    的头像 发表于 11-29 15:00 3933次阅读