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

    文章

    4786

    浏览量

    68550
  • 生成
    +关注

    关注

    0

    文章

    6

    浏览量

    13602
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    13239

原文标题: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 332次阅读
    <b class='flag-5'>代码</b>整洁之道-大师眼中的整洁<b class='flag-5'>代码</b>是什么样

    晶华微多用户代码烧录器解决方案

    随着杭州晶华微电子股份有限公司(股票代码:688130)芯片产品线的扩展,对烧录器的需求也逐渐增加。当前烧录器支持单个用户代码的在线烧录和离线烧录,但在生产产线需要切换不同的用户
    的头像 发表于 08-29 17:34 517次阅读
    晶华微多<b class='flag-5'>用户</b><b class='flag-5'>代码</b>烧录器解决方案

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

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

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

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

    touchGFX初始化卡住了怎么解决?

    之前TouchGFX是可以用的,但用cubeMX再生成代码后就不能用了 检查后发现卡在TouchGFX初始化阶段,具体表现为蓝色LED亮红色LED不亮 尝试把堆栈的空间翻倍也没用
    发表于 07-02 07:35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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