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

    文章

    4941

    浏览量

    73151
  • 生成
    +关注

    关注

    0

    文章

    6

    浏览量

    13825
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    14135

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HarmonyOS应用代码混淆技术方案

    代码混淆技术可以增加代码的复杂性和模糊性,从而提高攻击者分析代码的难度。
    的头像 发表于 11-21 16:17 5342次阅读
    HarmonyOS应用<b class='flag-5'>代码</b>混淆技术方案

    代码开发平台推荐:2025国内低代码开发平台排名TOP10

    代码开发平台排行榜 在企业数字化转型的浪潮中,低代码开发平台正逐渐成为企业实现高效开发和快速迭代的重要工具。随着技术的不断进步和市场需求的持续增长,低代码开发平台的市场竞争也日益激烈。以下
    的头像 发表于 10-28 10:22 312次阅读

    知乎开源“智能预渲染框架” 几行代码实现鸿蒙应用页面“秒开”

    ,交互延迟等核心痛点,通过智能预测用户浏览目标进行提前渲染,只需几行代码即可显著提升复杂页面的加载性能,实现“页面秒开”的高效体验,为鸿蒙开发者带来开发效率和用户体验的双重飞跃。 随着鸿蒙生态快速发展,应用开发者难免会遇到一些性
    的头像 发表于 08-29 14:32 471次阅读
    知乎开源“智能预渲染<b class='flag-5'>框架</b>” 几行<b class='flag-5'>代码</b>实现鸿蒙应用页面“秒开”

    Perforce JRebel 简介:即时加载代码变更,加速Java应用开发

    Perforce JRebel 专为Java开发提速而生!支持跳过构建与重新部署,实时加载代码变更,支持100+框架,无缝集成主流IDE与应用服务器。
    的头像 发表于 08-14 14:35 488次阅读
    Perforce JRebel 简介:即时加载<b class='flag-5'>代码</b>变更,加速Java应用开发

    OLED代码分享

    OLED代码
    发表于 04-29 17:04 1次下载

    如何为micropython添加自己的C代码库?

    部分代码需要更高效的效率 如何为micropython添加自己的C代码库? 是否有教程? 如果可以的话是否可以提供一个实现实例?
    发表于 03-11 07:03

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

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

    请问stm32L562中如何开发TouchGFX

    TouchGFX生成相关程序及文件 在cubeMX中找到开发板stm32L562eDK,在其中是能fmc,crc,freertos,x-cube-touchgfx生成相关代码输入程序后,黑屏。请教高手,还缺什么步骤?
    发表于 03-07 06:11

    分析C语言代码结构的设计问题

    来分析一个C语言代码结构的设计问题。 这段代码,使用了两次malloc,分别给 p1 和 p2 申请了内存。用完后,内存释放,防止内存泄漏。 大家觉得,这样的代码设计有没有问题。 代码
    的头像 发表于 02-11 09:31 669次阅读

    基于Django89的web框架代码

    基于Django89的web框架代码,超详细
    发表于 02-10 15:38 0次下载

    代码与传统开发的区别 低代码与无代码开发的区别

    在软件开发领域,传统开发、低代码开发以及代码开发是三种不同的开发方式,每种方式都有其独特的优势和适用场景。 一、低代码开发与传统开发的区别 低代码
    的头像 发表于 01-31 10:48 1057次阅读

    用于 SPI 绝对编码器的 Arduino 示例代码

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代码教程旨在为用户提供一个坚实的起点,以便通过串行外设接口
    的头像 发表于 01-26 21:35 1299次阅读
    用于 SPI 绝对编码器的 Arduino 示例<b class='flag-5'>代码</b>

    TouchGFX助力STM32打造高效GUI显示方案

    TouchGFX 是一款针对 STM32 微控制器优化的先进免费图形软件框架TouchGFX 利用 STM32 图形功能和架构,通过创建令人惊叹的类似智能手机的图形用户界面,加速了
    的头像 发表于 01-13 15:16 1029次阅读
    <b class='flag-5'>TouchGFX</b>助力STM32打造高效GUI显示方案

    代码在敏捷开发中的应用

    代码平台的定义 低代码平台提供了一个可视化的、拖放式的用户界面,允许开发者通过图形化的方式快速构建应用程序,而无需编写大量的代码。这些平台通常包括预构建的模板、组件和逻辑模块,使得开
    的头像 发表于 01-07 09:58 750次阅读

    STM32CubeMX生成的代码,是怎样的HAL架构?

    ,为用户规范编程提供了参考,如果后期还需要使用CubeMX更改时钟或是添加新的外设,用户代码必须写在相应注释BEGIN和END之间,否则再次使用CubeMX生成
    的头像 发表于 01-01 21:01 1239次阅读
    STM32CubeMX生成的<b class='flag-5'>代码</b>,是怎样的HAL架构?