reference:
AWTK的参考文档docs
bin/
design/
default
design
lib/ 库文件目录
res/ 资源文件目录
scripts/
src/
test/ 单元测试目录
cp_res.sh
project.json 项目配置文件
Sconstruct Scons脚本
web.json
自动生成对应的xml文件(src目录下)该部分使用python脚本设计,建议使用GUI操作
python xml_generator.py kt
应用修改,更新资源文件(scripts目录下)
python update_res.py all
查看修改(bin目录下)
lcdgui.exe
reference: reference: 《AWTK开发实践》4
AWTK 四大基本控件:窗口、基本控件、通用容器和扩展控件
这个不需要记,只是要清楚这些都是基于widget而衍生的,即widget_t为其基类,所以都可以称之为控件。
可去查看widget_t类的设计
reference: 《AWTK开发实践》4.2.4
reference:《AWTK开发实践》4.3 4.4
window_manager对各个窗口进行集中管理
window 缺省的应用程序窗口,占用除system_bar_t之外的整个区域。
dialog 对话框
system_bar 独占LCD顶部区域,用来显示当前的标题和关闭按钮等
注:其在第一个应用程序窗口之前打开
popup 弹出窗口 (区别于对话框)但是似乎话机好像没有设置。
描述界面的主体信息
GUI可以直接设计,然后生成XML文件
或者也可以采取JSON文件编写,然后自动生成XML文件(毕竟XML文件编码有点“啰嗦”)
案例讲解
窗口window
title 界面标题
fscript 可c函数调用
子选项child (结点样式)
node 结点名字
type 控件类型
等等
按键
reference:
《event_listener.md》
《AWTK开发实践》
触发事件,事件分发,捕获事件,实现功能。
触发事件,指的是用户相应的操作(键盘或者鼠标)
支持的事件有(详情可见AWTK开发手册):
global_key_up、global_key_down、global_key_long_press、key_up、key_down、key_long_press、key_down_before_children、key_up_before_children、pointer_up、pointer_down、pointer_move、click、timer、window_close、window_open、window_will_open、value_changed、focus、blur、value_changed_by_ui
事件分发 常用widget_dispatch分发事件
捕获事件 用widget_on注册事件(其中有与之对应的回调函数)对应QT里面的信号与槽,实质就是GUI设计中的对事件处理的必要手段,详情可见《Linux程序设计》16
widget_lookup 查找控件
//该函数的功能为查找指定名称的子控件
widget_t *widget_lookup(widget_t* widget, const char * name,bool_t recursive);
/**
widget 控件对象
name 子控件的名称
recursive 是否递归查找全部子控件
*/
widget_on 注册事件
//该函数的功能为注册指定事件的处理函数。事件的处理函数可以由自己设定,也可以使用通用的操作函数。
uint32_t widget_on(widget_t* widget, event_type_t type, event_func_t on_event, void* ctx);
/**
widget 控件对象
type 事件类型
on_event 事件处理函数
ctx 事件处理函数上下文
*/
处理函数 可以设计其注册的事件处理函数
reference:
《AWTK开发实践》3.5.4
**event_type_t **类型常量定义EVT_…
reference: 《AWTK开发实践》
详情可见AWTK的官网文档,或者下载AWTK后目录文档中也十分详细,不理解的函数使用可以翻阅手册。
如有错误,感谢指正,特此记录,删减许多,避免侵权,侵权必删。