0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TouchGFX代碼框架以及如何添加用戶代碼

嵌入式程序員 ? 來源:嵌入式程序猿 ? 作者:嵌入式程序猿 ? 2021-01-18 11:28 ? 次閱讀

1. 摘要

本文檔主要介紹,TouchGFX代碼框架以及如何添加用戶代碼。

2. 準(zhǔn)備工作

可以正常運(yùn)行的TouchGFX工程

3. 代碼結(jié)構(gòu)

TouchGFX的框架是基于MVP模型設(shè)計(jì),代碼結(jié)構(gòu)主要分為三大類,GUI引擎,生成代碼,用戶代碼,首先先看什么是MVP,即Model, View, Presenter。下圖可以很明顯清除的看到每一部分負(fù)責(zé)什么,干什么工作,Presenter是model和View之間的橋梁,View負(fù)責(zé)顯示,Model負(fù)責(zé)交互,這三大類撐起了TouchGFX的天空,你可以再里面任意翱翔。

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

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

清除了MVP結(jié)構(gòu)后,對(duì)代碼結(jié)構(gòu)的理解和應(yīng)用的開發(fā)有很大幫助,TouchGFX Design生成的代碼位于工程的generated/gui_generated

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

而用戶代碼位于gui文件夾下,gui文件夾下的代碼自己可以編輯,自己實(shí)現(xiàn)的代碼也是添加在這里。

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

例如上次我們給大家推送的電阻屏校準(zhǔn)就是在用戶代碼側(cè),通過手寫代碼來實(shí)現(xiàn)。理解了代碼結(jié)構(gòu),在加上熟悉API就可以很方便的開發(fā)GUI界面了,不管是用Designer,還是自己動(dòng)手寫,如我們校準(zhǔn)觸摸屏的時(shí)候,需要先畫一個(gè)小圓,自己動(dòng)手畫一個(gè)圓。定義變量

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

在cpp文件中添加代碼

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

這樣就實(shí)現(xiàn)了在屏幕左上角畫了一個(gè)半徑為10的實(shí)心圓。如要畫空心圓,將線寬不要設(shè)置為0,另外注意畫空心圓時(shí)候,半徑必須減去線寬。同理就可以實(shí)現(xiàn)手動(dòng)繪制2D圖形。

責(zé)任編輯:xj

原文標(biāo)題:TouchGFX中生成代碼與用戶代碼

文章出處:【微信公眾號(hào):嵌入式程序猿】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4722

    瀏覽量

    68231
  • 生成
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    13593
  • TouchGFX
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    13196

原文標(biāo)題:TouchGFX中生成代碼與用戶代碼

文章出處:【微信號(hào):InterruptISR,微信公眾號(hào):嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    國內(nèi)低代碼平臺(tái)推薦--萬界星空科技低代碼平臺(tái)

    代碼平臺(tái)是一種應(yīng)用程序,它為編程提供圖形用戶界面,從而以極快的速度開發(fā)代碼,減少傳統(tǒng)編程工作。 這些工具有助于快速開發(fā)代碼,最大限度地減少手工編碼的工作量。這些平臺(tái)不僅有助于編
    的頭像 發(fā)表于 07-18 15:39 ?248次閱讀
    國內(nèi)低<b class='flag-5'>代碼</b>平臺(tái)推薦--萬界星空科技低<b class='flag-5'>代碼</b>平臺(tái)

    touchgfx生成了代碼,也能編譯成功,但下載之后無法顯示圖像是什么原因?

    我用touchgfx生成了代碼,也能編譯成功,但下載之后無法顯示圖像,可能是什么原因?
    發(fā)表于 07-03 08:19

    該如何提高代碼容錯(cuò)率、降低代碼耦合度?

    提高RT-Thread代碼的容錯(cuò)率和降低耦合度是確保代碼質(zhì)量和可維護(hù)性的關(guān)鍵,下面列舉了幾種在編寫代碼時(shí),提高代碼容錯(cuò)率和降低耦合度的思路。讓我們一起來看看吧~一、提高
    的頭像 發(fā)表于 06-26 08:10 ?559次閱讀
    該如何提高<b class='flag-5'>代碼</b>容錯(cuò)率、降低<b class='flag-5'>代碼</b>耦合度?

    探討AI編寫代碼技術(shù),以及提高代碼質(zhì)量的關(guān)鍵:靜態(tài)代碼分析工具Perforce Helix QAC &amp; Klocwork

    令軟件開發(fā)人員夜不能寐的事情比比皆是。如今,他們最關(guān)心的問題不再是如何用自己喜歡的語言(C、C++、Erlang、Java 等)表達(dá)最新的算法,而是人工智能(AI)。 本文中,我們將介紹AI編寫代碼
    的頭像 發(fā)表于 06-05 14:10 ?351次閱讀

    touchgfx生成代碼報(bào)錯(cuò)怎么解決?

    touchgfx生成代碼報(bào)錯(cuò),怎么解
    發(fā)表于 06-03 08:51

    stm32CubeMX怎么添加中斷以及相應(yīng)的代碼或者.c和.h文件?

    我想咨詢一下,用stm32CubeMX生成的工程里邊 怎么添加中斷以及相應(yīng)的代碼或者.c和.h文件。我跑的是freertos系統(tǒng),能不能在stm32CubeMX里邊直接添加啊。
    發(fā)表于 04-29 08:17

    使用touchGFX生成代碼后,在該工程上再做些許改動(dòng)STM32CUBEIDE都會(huì)頻繁報(bào)錯(cuò)的原因?

    使用touchGFX生成代碼后,只要是在該工程上再做些許改動(dòng),STM32CUBEIDE都會(huì)頻繁報(bào)錯(cuò)make: *** No rule to make target
    發(fā)表于 03-12 07:50

    【鴻蒙】NAPI 框架生成工具實(shí)現(xiàn)流程

    NAPI 框架生成工具 可以根據(jù)用戶指定路徑下的 ts(typescript)接口文件一鍵生成 NAPI 框架代碼、業(yè)務(wù)代碼
    的頭像 發(fā)表于 02-28 17:00 ?626次閱讀
    【鴻蒙】NAPI <b class='flag-5'>框架</b>生成工具實(shí)現(xiàn)流程

    【鴻蒙】OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析

    OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析前言 OpenHarmony 4.0上藍(lán)牙倉和目錄結(jié)構(gòu)進(jìn)行一次較大整改,本文基于4.0以上版本對(duì)藍(lán)牙代碼進(jìn)行分析,便于讀者快速了解和學(xué)習(xí)
    的頭像 發(fā)表于 02-26 16:08 ?1418次閱讀
    【鴻蒙】OpenHarmony 4.0藍(lán)牙<b class='flag-5'>代碼</b>結(jié)構(gòu)簡析

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

    G代碼和M代碼是數(shù)控機(jī)床程序中常用的兩種指令代碼,用于控制數(shù)控機(jī)床的工作動(dòng)作和運(yùn)動(dòng)方式。 G代碼是指控制機(jī)床工作動(dòng)作的指令代碼,它是一種簡單
    的頭像 發(fā)表于 02-14 15:49 ?3829次閱讀

    devicestates指令故障代碼基本概念

    “devicestates”指令故障代碼是指在設(shè)備管理系統(tǒng)中發(fā)生錯(cuò)誤或故障時(shí),系統(tǒng)生成的特定代碼或消息。這些代碼和消息旨在為用戶或技術(shù)支持人員提供有關(guān)設(shè)備故障的信息和診斷。通過檢查和解
    的頭像 發(fā)表于 12-08 14:19 ?1425次閱讀

    python軟件IDLE怎么打多行代碼

    用于編寫、編輯和運(yùn)行Python代碼的編輯器窗口。在IDLE中編寫多行代碼有幾種方法可以實(shí)現(xiàn)。 使用括號(hào)與換行符: 在IDLE中編寫多行代碼的一種常見方法是使用括號(hào)來將多行代碼括起來,
    的頭像 發(fā)表于 11-29 15:00 ?3818次閱讀

    vs中如何快速注釋多行代碼

    取消注釋多行代碼。 步驟如下: 選中要注釋的代碼塊。 按下Ctrl+K, Ctrl+C(快捷鍵)或者在右鍵菜單中選擇"注釋"。 注釋符號(hào)(通常是//或者/*)會(huì)添加在每行代碼的前面,將
    的頭像 發(fā)表于 11-22 10:26 ?1.6w次閱讀

    devc怎么注釋掉一段代碼

    在DevC中,要注釋掉一段代碼,你可以使用注釋符號(hào)來標(biāo)記這段代碼。注釋符號(hào)的作用是告訴編譯器不要編譯這些代碼,而是將其視為注釋,這樣可以方便開發(fā)人員在代碼
    的頭像 發(fā)表于 11-22 10:23 ?2294次閱讀

    實(shí)戰(zhàn)經(jīng)驗(yàn) | TouchGFX 控件附加 ClickListener 功能的方法介紹

    Designer 中的 Mixin 功能,從基礎(chǔ)示例 Button Example 出發(fā),為文本框控件添加 ClickListener (Mixin 功能中的一項(xiàng)),并對(duì)源代碼進(jìn)行簡單剖析。期望能幫助客戶更深入地理解 STM32 To
    的頭像 發(fā)表于 11-17 17:40 ?1259次閱讀