AWTK 开源串口屏开发(12) - 记事本应用

记事本是一个很常用的应用,用来编辑和查看文本文件非常方便。在传统的的串口屏中,开发一个记事本应用,即使可能,也是非常麻烦的事情。在 AWTK 串口屏中,内置文件模型和文件选择对话框,实现一个简单的记事本,不需要编写代码,设计好界面,添加绑定规则就好了,非常简单。

1. 功能

不用编写代码,实现记事本应用。

在这里插入图片描述

2. 创建项目

从模板创建项目,将 hmi/template_app 拷贝 hmi/notepad 即可。

第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。

3. 制作界面

用 AWStudio 打开上面 notepad 目录下的 project.json 文件。里面有一个空的窗口,做出类似下面的界面。

在这里插入图片描述

4. 添加绑定规则

4.1 文件名

用 edit 控件显示文件名,将 文件名文本 属性绑定到 filename 变量。添加自定义的属性 v-data:value,将值设置为 {filename}

绑定属性绑定规则说明
v-data:value{filename}filename 是内置的变量,用于保存文件名。

4.2 文件内容

用 mledit 控件显示文件内容,将 文件内容文本 属性绑定到 content 变量。添加自定义的属性 v-data:value,将值设置为 {content}

绑定属性绑定规则说明
v-data:value{content}content 是内置的变量,用于保存文件内容。

4.3 打开文件

  • 打开 按钮的 点击 事件绑定到 browse 命令。添加自定义的属性 v-on:click,将值设置为 {browse, Args=open(filter=‘.txt.c.cpp.md’, title=‘Text File’)}
绑定属性绑定规则说明
v-on:click{browse, Args=open(filter=‘.txt.c.cpp.md’, title=‘Text File’)}browse 命令是内置的命令,参数 open 用于打开文件选择对话框。

4.4 保存文件

  • 保存 按钮的 点击 事件绑定到 save 命令。添加自定义的属性 v-on:click,将值设置为 {save}
绑定属性绑定规则说明
v-on:click{save}save 命令是内置的命令,用于保存文件。

4.5 另存为文件

  • 另存为 按钮的 点击 事件绑定到 browse 命令。添加自定义的属性 v-on:click,将值设置为 {browse, Args=saveas(filter=‘.txt.c.cpp.md’, title=‘Text File’)}
绑定属性绑定规则说明
v-on:click{browse, Args=saveas(filter=‘.txt.c.cpp.md’, title=‘Text File’)}browse 命令是内置的命令,参数 saveas 用于打开文件选择对话框。

4.6 重新加载

  • 重新加载 按钮的 点击 事件绑定到 reload 命令。添加自定义的属性 v-on:click,将值设置为 {reload}
绑定属性绑定规则说明
v-on:click{reload}reload 命令是内置的命令,用于重新加载持久化的配置,命令要用英文大括号括起来。

4.7 退出

  • 退出 按钮的 点击 事件绑定到 nothing 命令。添加自定义的属性 v-on:click,将值设置为 {nothing, QuitApp=true}
绑定属性绑定规则说明
v-on:click{nothing, QuitApp=true}nothing 命令是内置的命令,用于什么都不做,QuitApp=true 表示退出应用。

4.8 窗口模型

  • 指定窗口的模型为 file,路径为 ${app_dir}/test.txt,自动加载文件。
绑定属性绑定规则说明
v-modelfile(path=${app_dir}/test.txt, auto_load=true)file 是内置的模型,用于保存文件内容,path 是文件路径,auto_load=true 表示自动加载文件。

5. 初始化数据

6. 描述需要持久化的数据

7. 编译运行

运行 bin 目录下的 demo 程序:

在这里插入图片描述

8. 注意

  • 本项目并没有编写界面相关的代码,AWStudio 在 src/pages 目录下生成了一些代码框架,这些代码并没有用到,可以删除也可以不用管它,但是不能加入编译。

  • 完整示例请参考:demo_notepad

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值