加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

技術(shù)分享 | AWTK 開源串口屏開發(fā)(12) - 記事本應(yīng)用

03/11 11:50
2179
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

記事本是一個(gè)常用的應(yīng)用程序,在 AWTK 串口屏中,內(nèi)置文件模型和文件選擇對(duì)話框,無需編寫一行傳統(tǒng)的代碼,即可實(shí)現(xiàn)一個(gè)簡(jiǎn)單的記事本應(yīng)用程序。

記事本是一個(gè)很常用的應(yīng)用,用來編輯和查看文本文件非常方便。在傳統(tǒng)的的串口屏中,開發(fā)一個(gè)記事本應(yīng)用,即使可能,也是非常麻煩的事情。在 AWTK 串口屏中,內(nèi)置文件模型和文件選擇對(duì)話框,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的記事本,不需要編寫代碼,設(shè)計(jì)好界面,添加綁定規(guī)則就好了,非常簡(jiǎn)單。

1. 功能

不用編寫代碼,實(shí)現(xiàn)記事本應(yīng)用。

2. 創(chuàng)建項(xiàng)目

從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/notepad 即可。

第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂?,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

3. 制作界面

用 AWStudio 打開上面 notepad 目錄下的 project.json 文件。里面有一個(gè)空的窗口,做出類似下面的界面。

4. 添加綁定規(guī)則

4.1 文件名

用 edit 控件顯示文件名,將?文件名?的?文本?屬性綁定到?filename?變量。添加自定義的屬性?v-data:value,將值設(shè)置為?{filename}。

綁定屬性 綁定規(guī)則 說明
v-data:value {filename} filename 是內(nèi)置的變量,用于保存文件名。

4.2 文件內(nèi)容

用 mledit 控件顯示文件內(nèi)容,將?文件內(nèi)容?的?文本?屬性綁定到?content?變量。添加自定義的屬性?v-data:value,將值設(shè)置為?{content}。

綁定屬性 綁定規(guī)則 說明
v-data:value {content} content 是內(nèi)置的變量,用于保存文件內(nèi)容。

4.3 打開文件

      • 將打開 按鈕的 點(diǎn)擊 事件綁定到 browse 命令。添加自定義的屬性 v-on:click,將值設(shè)置為 {browse, Args=open(filter=’.txt.c.cpp.md’, title=‘Text File’)}。
綁定屬性 綁定規(guī)則 說明
v-on:click {browse, Args=open(filter=’.txt.c.cpp.md’, title=‘Text File’)} browse 命令是內(nèi)置的命令,參數(shù) open 用于打開文件選擇對(duì)話框。

4.4 保存文件

      • 將保存 按鈕的 點(diǎn)擊 事件綁定到 save 命令。添加自定義的屬性 v-on:click,將值設(shè)置為 {save}。
綁定屬性 綁定規(guī)則 說明
v-on:click {save} save 命令是內(nèi)置的命令,用于保存文件。

4.5 另存為文件

      另存為

        按鈕的 點(diǎn)擊 事件綁定到 browse 命令。添加自定義的屬性 v-on:click,將值設(shè)置為 {browse, Args=saveas(filter=’.txt.c.cpp.md’, title=‘Text File’)}。
綁定屬性 綁定規(guī)則 說明
v-on:click {browse, Args=saveas(filter=’.txt.c.cpp.md’, title=‘Text File’)} browse 命令是內(nèi)置的命令,參數(shù) saveas 用于打開文件選擇對(duì)話框。

4.6 重新加載

將?重新加載?按鈕的?點(diǎn)擊?事件綁定到?reload?命令。添加自定義的屬性?v-on:click,將值設(shè)置為?{reload}。

綁定屬性 綁定規(guī)則 說明
v-on:click {reload} reload 命令是內(nèi)置的命令,用于重新加載持久化的配置,命令要用英文大括號(hào)括起來。

4.7 退出

將?退出?按鈕的?點(diǎn)擊?事件綁定到?nothing?命令。添加自定義的屬性?v-on:click,將值設(shè)置為?{nothing,?QuitApp=true}。

綁定屬性 綁定規(guī)則 說明
v-on:click {nothing, QuitApp=true} nothing 命令是內(nèi)置的命令,用于什么都不做,QuitApp=true 表示退出應(yīng)用。

4.8 窗口模型

    指定窗口的模型為 file,路徑為?${app_dir}/test.txt,自動(dòng)加載文件。
綁定屬性 綁定規(guī)則 說明
v-model file(path=${app_dir}/test.txt, auto_load=true) file 是內(nèi)置的模型,用于保存文件內(nèi)容,path 是文件路徑,auto_load=true 表示自動(dòng)加載文件。

5. 初始化數(shù)據(jù)

6. 描述需要持久化的數(shù)據(jù)

7. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序:

8. 注意

本項(xiàng)目并沒有編寫界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。

完整示例請(qǐng)參考:demo_notepad。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
KSZ9031RNXVA-TR 1 Microchip Technology Inc Ethernet Transceiver
暫無數(shù)據(jù) 查看
TJA1042TK/3,118 1 NXP Semiconductors TJA1042 - High-speed CAN transceiver with Standby mode SON 8-Pin

ECAD模型

下載ECAD模型
$1.3 查看
KSZ9896CTXI-TR 1 Microchip Technology Inc IC ETHERNET SWITCH 6PORT 128TQFP

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
致遠(yuǎn)電子

致遠(yuǎn)電子

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬元,國(guó)家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量?jī)x器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠(yuǎn)電子股份有限公司成立于2001年,注冊(cè)資金5000萬元,國(guó)家級(jí)高新技術(shù)認(rèn)證企業(yè),廣州市高端工控測(cè)量?jī)x器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜