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

    文章

    4975

    浏览量

    74349
  • 生成
    +关注

    关注

    0

    文章

    6

    浏览量

    13882
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    14233

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32N6 在 PSRAM 上运行代码的调试

    1. 引言STM32N6 项目中,用户代码可能会比较大,此时仅用内部 SRAM 并不能满足用代码运行需求。那么,将代码放置到 PSRAM 上运行也是个不错的选择。2. 问题2.1. 问
    发表于 04-15 16:02 0次下载

    安川伺服驱动器警报代码说明

    的警报代码按故障类型整理如下: 安川伺服驱动器常见警报代码速查表 电源、参数与硬件类 警报代码 警报名称 简要含义/原因 A.02 参数和数检查异常 伺服单元内部参数数据异常,可能需要重新设置或恢复出厂值。 A.04
    的头像 发表于 03-13 07:35 1229次阅读
    安川伺服驱动器警报<b class='flag-5'>代码</b>说明

    LAT1621_STM32N6 在 PSRAM 上运行代码的调试

    STM32N6 项目中,用户代码可能会比较大,此时仅用内部 SRAM 并不能满足用代码运行需求。那么,将代码放置到 PSRAM 上运行也是个不错的选择。 客户在开发其产品过程中,使用了
    发表于 03-11 10:44 0次下载

    STM32H750B-DK开发板 快速上手&amp;TouchGFX入门

    的Image图像选择刚刚导入的图片:​ 可以选择Texted Area添加文字,以及选择文字大小和颜色: ​ 界面配置完成后,还是和之前一样的步骤,生成代码、编译、烧录,就可以在板子上正常显示出来
    发表于 01-10 02:07

    HarmonyOS应用代码混淆技术方案

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

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

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

    2025主流低代码平台有哪些:低代码开发平台选型指南指南

    在企业数字化转型进入深水区的当下,低代码开发平台已从早期的“效率工具”升级为“核心基建”。其工程化能力、流程适配深度、技术延展性与行业积淀,直接决定了企业转型的成效。据Gartner预测,到2026
    的头像 发表于 10-22 11:49 523次阅读

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

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

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

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

    代码开发云平台是什么?零编程零成本搭建

    代码物联网云平台是种融合了低代码开发能力与物联网(IoT)技术的云端服务平台,其核心目标是大幅降低物联网应用的开发门槛和成本,让用户无需专业编程经验,也能快速构建、部署和管理物联网系统。 低
    的头像 发表于 07-31 15:25 862次阅读

    单模光缆型号字母代码及其含义

    单模光缆的型号字母代码主要用于标识光缆的分类、结构、护层及光纤类型等关键信息,以下是一些常见的单模光缆型号字母代码及其含义: 一、光缆分类代码 GY:通信用室外光缆,这是最常见的室外光缆分类
    的头像 发表于 07-17 10:27 3570次阅读

    手动添加cubeMX的软件自动生成代码后,编译出现’rtthread.elf’:No Such File 的错误怎么解决?

    手动添加cubeMX的软件自动生成代码后,编译出现’rtthread.elf’:No Such File 的错误。
    发表于 06-12 07:46

    OLED代码分享

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

    变频器相同的故障原因不同的故障代码分类

    变频器相同的故障原因可能对应不同的故障代码,这主要取决于变频器的型号、制造商以及具体的故障检测机制。以下是一些常见的故障原因及其可能对应的不同故障代码分类: 一、过电流故障 ● 故障原因:电动机铭牌
    的头像 发表于 04-25 14:31 3244次阅读
    变频器相同的故障原因不同的故障<b class='flag-5'>代码</b>分类

    GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码

    以及收集整理好的资料,希望可以帮助用户更加简单的学习或快速移植代码进行项目开发。本文将和大家探讨一下GC9A01圆型屏幕的驱动
    的头像 发表于 04-25 11:29 1976次阅读
    GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动<b class='flag-5'>代码</b>)