您尚未登录。

楼主 #1 2019-04-25 11:37:15

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

ZLG开源 GUI 引擎 AWTK 1.1 发布

一、介绍

AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎。

AWTK寓意有两个方面:

  • Toolkit AnyWhere。

  • ZLG物联网操作系统AWorks内置GUI。

AWTK源码仓库:

运行效果截图:

cleanair_main.png

meter_main.png

chart_main.png

musicplayer_main.png

二、最终目标:
  • 支持开发嵌入式应用程序。

  • 支持开发Linux应用程序。

  • 支持开发MacOS应用程序。

  • 支持开发Windows应用程序。

  • 支持开发Web APP。

  • 支持开发微信小程序。

  • 支持开发支付宝小程序。

  • 支持开发百度小程序。

  • 支持开发Android应用程序。

  • 支持开发iOS应用程序。

  • 支持开发2D小游戏。

三、主要特色

1.跨平台

AWTK是跨平台的,这有两个方面的意思:

  • AWTK本身是跨平台的。目前支持的平台有ZLG AWorks、Windows、Linux、MacOS、嵌入式Linux和嵌入式裸系统,可以轻松的移植到各种RTOS上。AWTK以后也可以运行在浏览器(即将公测)、各种小程序、Android和iOS等平台上运行。

  • AWTK同时还提供了一套跨平台的基础工具库。其中包括链表、数组、字符串(UTF8和widechar),事件发射器、值、对象、文件系统、互斥锁和线程、表达式和字符串解析等等,让你用AWTK开发的应用程序可以真正跨平台运行。

2.高效

AWTK通过一系列的手段保证AWTK应用程序高效运行:

  • 通过脏矩算法只更新变化的部分。

  • 支持3 FrameBuffer让界面以最高帧率运行(可选)。

  • UI描述文件和主题文件使用高效的二进制格式,解析在瞬间完成。

  • 支持各种GPU加速接口。如OpenGL、DirectX、Vulman和Metal等。

  • 支持嵌入式平台的各种2D加速接口。目前STM32的DMA2D和NXP的PXP接口,厂家可以轻松扩展自己的加速接口。

3.稳定

AWTK通过下列方式极力让代码稳定可靠:

  • 使用cppcheck和facebook infer进行静态检查。

  • 使用valgrind进行动态内存检查。

  • 近两万行的单元测试代码。

  • ZLG强大GUI团队的支持。

  • 经过多个实际项目验证。

  • 多平台/多编译器验证。

  • 优秀的架构设计。

  • Code Review。

  • 手工测试。

4.强大

  • 丰富的控件(持续增加中)。

  • 支持各种图片格式(png/jpg/gif/svg)。

  • 支持各种字体格式(点阵和矢量)。

  • 支持窗口动画

  • 支持控件动画

  • 支持高清屏。

  • 支持界面描述文件。

  • 支持主题描述文件。

  • 支持控件布局策略。

  • 支持对话框高亮策略。

  • 丰富的辅助工具。

  • 支持从低端的Cortex M3到各种高端CPU。

  • 支持无文件系统和自定义的文件系统。

  • 支持裸系统和RTOS。

5.易用

  • 大量的示例代码。

  • 完善的API文档和使用文档。

  • ZLG 强大的技术支持团队。

  • 用AWTK本身开发的界面编辑器(开发中)。

  • 声明式的界面描述语言。一行代码启用控件动画,启用窗口动画,显示图片(png/jpg/svg/gif)。

6.高度扩展性

  • 可以扩展自己的控件。

  • 可以扩展自己的动画。

  • 可以实现自己的主循环。

  • 可以扩展自己的软键盘。

  • 可以扩展自己的图片加载器。

  • 可以扩展自己的字体加载器。

  • 可以扩展自己的输入法引擎。

  • 可以扩展自己的控件布局算法。

  • 可以扩展自己的对话框高亮策略。

  • 可以实现自己的LCD接口。

  • 可以扩展自己的矢量引擎(如使用skia/cairo)。

  • 所有扩展组件和内置组件具有相同的待遇。

7.多种开发语言

AWTK本身是用C语言开发的,可以通过IDL生成各种脚本语言的绑定。生成的绑定代码不是简单的把C语言的API映射到脚本语言,而是生成脚本语言原生代码风格的API。目前支持以下语言(以后根据需要增加):

  • C

  • Lua

  • Javascript on jerryscript

  • Javascript on nodejs

8.国际化

  • 支持Unicode。

  • 支持输入法。

  • 支持字符串翻译(实时生效)。

  • 支持图片翻译(实时生效)。

  • 文字双向排版(计划中)。

9.开放源码,免费商用(LGPL)。

## 四、1.1 版本更新

1.稳定性增强

  • 多个实际项目验证。

  • 新增数百个测试用例。

  • 增加控件运行时类型检查。

  • 使用infer静态检查,并修改发现的问题。

  • 使用cppcheck静态检查,并修改发现的问题。

  • 使用valgrind动态内存检查,并修改发现的问题。

2.优化性能

  • 绘制半透明色矩形速度提高3倍。

  • 缩放不透明图片快1倍(bgr565格式LCD)。

  • 缩放半透明图片快30%(bgr565格式LCD)。

3.新增特性

  • 窗口动画支持自定义。

  • 新增4种内置窗口动画。

  • 对话框高亮策略支持自定义。

  • 内置动态和静态背景变暗的对话框高亮策略。

  • 新增 object_t接口。

  • 对话框支持非模态。

  • 窗口支持全屏窗口。

  • 增加toast/info/confirm等内置对话框。

  • slide view支持循环切换。

  • slide view增加更多切换动画。

  • 数字时钟支持英文的星期和月份。

  • 支持自定义软键盘。

  • 增加lcd_profile用于对绘制函数进行profile。

  • data资源支持同文件名不同扩展名。

  • window manager支持paint事件。

  • UI XML文件支持简单表达式。

  • 改进编译脚本和资源生成脚本。

4.新增控件

  • 增加mutable image,用于实现camera和video时显示图像。

5.新增重要API

  • window_manager_back 返回上一级窗口。

  • window_manager_back_to_home 返回主窗口。

  • window_close_force 强制关闭窗口(忽略动画)。

  • ui_loader_load_widget 用于加载局部组件。

6.Bug修改和完善功能

详情请参考docs/changes.md

## 五、预告

下一个版本计划推出下列功能:

  • 新增控件。

  • 抽象音频接口。

  • 桌面版本支持多原生窗口。

  • 在sylixos和linux上支持多进程。

  • AWTK-WEB 让AWTK应用程序在浏览器中运行。

  • AWTK-MVVM 为嵌入式系统定制的MVVM框架。

需要什么功能,请在github上留言,我们会优先安排。

离线

#2 2019-04-25 11:57:54

cityf
会员
注册时间: 2017-11-03
已发帖子: 195
积分: 195

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

关注这个GUI 很久了, 找机会试一试。

请问楼主是开发awtk 开发团队的吗?

离线

#3 2019-04-25 13:05:19

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

真的很不错

离线

#4 2019-04-25 13:09:30

Zodiac
会员
注册时间: 2018-11-28
已发帖子: 42
积分: 42

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

这不是FTK的作者嘛?久仰!

离线

#5 2019-04-25 13:36:23

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

第二张仪表盘真漂亮!





离线

楼主 #6 2019-04-25 14:08:14

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

Zodiac 说:

这不是FTK的作者嘛?久仰!

哈哈,遇到熟人了。

离线

楼主 #7 2019-04-25 14:10:59

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

cityf 说:

关注这个GUI 很久了, 找机会试一试。

请问楼主是开发awtk 开发团队的吗?

是的。谢谢关注。

离线

#8 2019-04-25 16:21:22

微凉VeiLiang
会员
所在地: 深圳
注册时间: 2018-10-28
已发帖子: 627
积分: 522
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

紧紧跟着大佬的步伐

离线

#9 2019-04-25 18:29:47

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

试了一下demo,效果非常的好。

离线

#10 2019-04-25 22:57:32

duckduckgo
会员
注册时间: 2018-12-13
已发帖子: 58
积分: 43

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

看过视频,效果很好。李工,这个GUI有没有交流群?

离线

楼主 #11 2019-04-26 11:33:54

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

duckduckgo 说:

看过视频,效果很好。李工,这个GUI有没有交流群?

谢谢关注。我在README的最下面加了一个微信群的二维码:https://github.com/zlgopen/awtk

离线

#12 2019-05-29 16:58:50

阿黄
会员
注册时间: 2018-10-03
已发帖子: 299
积分: 134

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

lixianjing 说:
duckduckgo 说:

看过视频,效果很好。李工,这个GUI有没有交流群?

谢谢关注。我在README的最下面加了一个微信群的二维码:https://github.com/zlgopen/awtk


没找到微信群二维码呢,另外主页上这么漂亮的界面 不知道是否有demo,不知道该如何实现时钟界面。
表盘是个图片吗? 我想实现百分比式的表盘,不知道如何实现

离线

#13 2019-05-29 17:29:29

dbskcnc
会员
注册时间: 2018-10-12
已发帖子: 67
积分: 67

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

强大得很,跨平台是很大的优势, 以后有项目可以试试

最近编辑记录 dbskcnc (2019-05-29 17:29:46)

离线

#14 2019-05-30 10:03:08

rf
会员
注册时间: 2019-05-21
已发帖子: 27
积分: 2

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

商业使用收费吗?

离线

#15 2019-05-30 14:24:03

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

rf 说:

商业使用收费吗?

看授权是LGPL,但是嵌入式环境都是静态编译居多,那么按理说就不能商业使用了,除非跑Linux然后动态加载

离线

#16 2019-05-30 16:21:43

msr06rr
会员
所在地: 苏州
注册时间: 2018-01-11
已发帖子: 180
积分: 170.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

介绍上面写着开放源码,免费商用,也不知道后期会不会改变策略

离线

#17 2019-10-17 09:14:08

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

我在全志V3s上,直接运行 demoui, 插入USB鼠标就能点击,这个确实很人性化,不需要任何设置。

但是问题来了,按下鼠标不能左右滑动,而电容触摸屏可以,请教楼主, 是我的操作姿势有问题,还是本来就不行呢?

Windows/Ubuntu 模拟器鼠标操作是可以的.

离线

#18 2019-10-17 10:47:05

Iron
会员
注册时间: 2018-10-23
已发帖子: 65
积分: 29.5
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

看起来很赞(((o(*゚▽゚*)o)))

离线

#19 2019-10-17 11:38:20

ffplay
会员
注册时间: 2019-08-31
已发帖子: 92
积分: 92

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

请教楼主,可以用scons命令转为 msvc 工程吗?

因为我还是不习惯命令行编程

离线

楼主 #20 2019-10-17 13:50:54

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

jimmy 说:

我在全志V3s上,直接运行 demoui, 插入USB鼠标就能点击,这个确实很人性化,不需要任何设置。

但是问题来了,按下鼠标不能左右滑动,而电容触摸屏可以,请教楼主, 是我的操作姿势有问题,还是本来就不行呢?

Windows/Ubuntu 模拟器鼠标操作是可以的.

可能是移植层的问题,貌似没收到鼠标移动的事件,把它打印出来看看。

离线

楼主 #21 2019-10-17 13:51:50

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

ffplay 说:

请教楼主,可以用scons命令转为 msvc 工程吗?

因为我还是不习惯命令行编程

scons没这个功能。scons + VSCode挺好用的,你可试试。

离线

楼主 #22 2019-10-17 13:55:02

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

达克罗德 说:
rf 说:

商业使用收费吗?

看授权是LGPL,但是嵌入式环境都是静态编译居多,那么按理说就不能商业使用了,除非跑Linux然后动态加载

使用LGPL,我的本意是修改了AWTK本身,希望能分享出来。这样大家一起来完善AWTK,做出最好的GUI。

如果你不放心,可以联系我们,我们可以提供免费的商业授权。

离线

#23 2019-10-17 13:55:07

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

lixianjing 说:
jimmy 说:

我在全志V3s上,直接运行 demoui, 插入USB鼠标就能点击,这个确实很人性化,不需要任何设置。

但是问题来了,按下鼠标不能左右滑动,而电容触摸屏可以,请教楼主, 是我的操作姿势有问题,还是本来就不行呢?

Windows/Ubuntu 模拟器鼠标操作是可以的.

可能是移植层的问题,貌似没收到鼠标移动的事件,把它打印出来看看。

可是鼠标指针会随着手势移动,应该说收到了移动事件才对,晚点我去看下 log 记录。

离线

#24 2019-10-17 13:57:14

ffplay
会员
注册时间: 2019-08-31
已发帖子: 92
积分: 92

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

lixianjing 说:
ffplay 说:

请教楼主,可以用scons命令转为 msvc 工程吗?

因为我还是不习惯命令行编程

scons没这个功能。scons + VSCode挺好用的,你可试试。

VSCode是导入一个文件夹编辑对吧?可以单步调试吗?

离线

#25 2019-10-18 10:58:32

k455619
会员
注册时间: 2018-07-29
已发帖子: 151
积分: 80

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

scons 后出现下面问题

scons: Reading SConscript files ...
KeyError: 'NATIVE_WINDOW':
  File "/home/gust/F1c200s/ATWK/awtk-linux-fb/SConstruct", line 45:
    SConscript(SConscriptFiles)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 614:
    return method(*args, **kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 551:
    return _SConscript(self.fs, *files, **subst_kw)
  File "/usr/lib/scons/SCons/Script/SConscript.py", line 260:
    exec _file_ in call_stack[-1].globals
  File "/home/gust/F1c200s/ATWK/awtk-linux-fb/build/var/awtk/src/SConscript", line 8:
    NATIVE_WINDOW = os.environ['NATIVE_WINDOW'];
  File "/usr/lib/python2.7/UserDict.py", line 40:
    raise KeyError(key)

离线

#26 2019-10-18 12:50:11

dgtg
会员
注册时间: 2017-11-08
已发帖子: 257
积分: 216.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

准备新项目上使用这个AWTK...

离线

#27 2019-10-19 16:14:14

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

@k455619

KeyError: 'NATIVE_WINDOW':
NATIVE_WINDOW = os.environ['NATIVE_WINDOW'];

说明字典(???) os.environ 中, 键值(???) NATIVE_WINDOW 不存在,

是不是awtk_config.py 中这行没有执行:

os.environ['NATIVE_WINDOW'] = NATIVE_WINDOW;





离线

楼主 #28 2019-10-19 17:46:00

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

我这里没问题啊。你用的最新代码吗?难道是 python2.7的问题?

@k455619

离线

楼主 #29 2019-10-19 17:49:40

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

ffplay 说:
lixianjing 说:
ffplay 说:

请教楼主,可以用scons命令转为 msvc 工程吗?

因为我还是不习惯命令行编程

scons没这个功能。scons + VSCode挺好用的,你可试试。

VSCode是导入一个文件夹编辑对吧?可以单步调试吗?

在AWTK目录,右键打开“Open With Code”。

在launch.json加入:

    {
      "name": "(Windows) demoui.exe",
      "type": "cppvsdbg",
      "request": "launch",
      "program": "${workspaceFolder}/bin/demoui.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false
    },

离线

#30 2019-10-20 18:06:13

k455619
会员
注册时间: 2018-07-29
已发帖子: 151
积分: 80

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

lixianjing 说:

我这里没问题啊。你用的最新代码吗?难道是 python2.7的问题?

@k455619

并不是最新的,下周试试最新的看下

离线

#31 2019-10-20 18:10:30

k455619
会员
注册时间: 2018-07-29
已发帖子: 151
积分: 80

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

晕哥 说:

@k455619

KeyError: 'NATIVE_WINDOW':
NATIVE_WINDOW = os.environ['NATIVE_WINDOW'];

说明字典(???) os.environ 中, 键值(???) NATIVE_WINDOW 不存在,

是不是awtk_config.py 中这行没有执行:

os.environ['NATIVE_WINDOW'] = NATIVE_WINDOW;

好像就是python找不到这个NATIVE_WINDOW key 报错了,但是其实是有这个key的吧,下周我试试最新的ATWK

离线

#32 2019-10-21 13:53:45

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

V3s使用这个
屏幕白一下之后就黑了 啥也不显示 是怎么回事呢

# ./release/bin/demoui
app_root_is_valid:43 app_root != NULL
try /mnt/awtk
try /mnt/awtk/release/bin
app_root=/mnt/awtk/release
!!!Asset [name=en_US type=strings] not exist!!!
!!!Asset [name=en type=strings] not exist!!!
fb_info_t: /dev/fb0
fb_info_t: xres=480 yres=272 bits_per_pixel=32 mem_size=522240
fb_info_t: red(16 8) green(8 8) blue(0 8)
line_length=1920 mem_size=522240 smem_len=522240
xres_virtual =480 yres_virtual=272 xpanstep=0 ywrapstep=0
ratio=1.000000 480 272
tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
tslib_dispatch_one_event:61 tslib read failed(ret=0, errno=0, filename=/dev/input/event0)
Print tslib: : Success
Build at: Oct 21 2019 12:14:02
assets_manager_preload:626 info != NULL
assets_manager_preload:626 info != NULL
!!!Asset [name=preload type=ui] not exist!!!
ui_loader_load_widget:38 ui != NULL
!!!Asset [name=cursor type=image] not exist!!!
window_manager_default_set_cursor:997 image_manager_get_bitmap(image_manager(), cursor, &bitmap) == RET_OK
theme_find_style:89 t != NULL && t->data != NULL
!!!Asset [name=cursor type=image] not exist!!!
window_manager_paint_cursor:531 image_manager_get_bitmap(image_manager(), wm->cursor, &bitmap) == RET_OK
input_dispatch_one_event:71 mouse read failed(ret=-1, errno=0, fd=-1, filename=/dev/input/mice)
Print mouse: : Success
widget_lookup_all:778 widget != NULL && name != NULL
widget_lookup_all:778 widget != NULL && name != NULL
!!!Asset [name=earth type=image] not exist!!!
widget_set_value:195 widget != NULL
widget_set_text_utf8:248 widget != NULL
widget_lookup_all:778 widget != NULL && name != NULL
widget_lookup_all:778 widget != NULL && name != NULL
!!!Asset [name=dialog_title type=image] not exist!!!
widget_set_value:195 widget != NULL
widget_set_text_utf8:248 widget != NULL
widget_lookup_all:778 widget != NULL && name != NULL
widget_lookup_all:778 widget != NULL && name != NULL
!!!Asset [name=rgb type=image] not exist!!!
widget_set_value:195 widget != NULL
widget_set_text_utf8:248 widget != NULL
widget_lookup_all:778 widget != NULL && name != NULL
widget_lookup_all:778 widget != NULL && name != NULL
!!!Asset [name=rgba type=image] not exist!!!
widget_set_value:195 widget != NULL
widget_set_text_utf8:248 widget != NULL
widget_lookup_all:778 widget != NULL && name != NULL
widget_lookup_all:778 widget != NULL && name != NULL
!!!Asset [name=system_bar type=ui] not exist!!!
ui_loader_load_widget:38 ui != NULL
!!!Asset [name=main type=ui] not exist!!!
ui_loader_load_widget:38 ui != NULL
widget_on:936 widget != NULL && on_event != NULL
widget_on:936 widget != NULL && on_event != NULL
widget_foreach:2154 widget != NULL && visit != NULL
widget_get_type:2809 widget != NULL && widget->vt != NULL
input_dispatch_one_event:71 mouse read failed(ret=-1, errno=2, fd=-1, filename=/dev/input/mice)
Print mouse: : No such file or directory
tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
tslib_dispatch_one_event:61 tslib read failed(ret=0, errno=0, filename=/dev/input/event0)
Print tslib: : Success
input_dispatch_one_event:71 mouse read failed(ret=-1, errno=2, fd=-1, filename=/dev/input/mice)
Print mouse: : No such file or directory
tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
tslib_dispatch_one_event:61 tslib read failed(ret=0, errno=0, filename=/dev/input/event0)
Print tslib: : Success

离线

#33 2019-10-21 14:17:47

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

从 log 上面看, 没有相关的日志输出.

我在 S3 上面跑过, 一切正常。

还直接支持USB鼠标。





离线

#34 2019-10-21 17:07:15

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

点击触摸屏是有log输出的
就是屏幕一片黑 啥也不显示

晕哥 说:

从 log 上面看, 没有相关的日志输出.

我在 S3 上面跑过, 一切正常。

还直接支持USB鼠标。

离线

楼主 #35 2019-10-22 09:03:50

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

a32425262 说:

点击触摸屏是有log输出的
就是屏幕一片黑 啥也不显示

晕哥 说:

从 log 上面看, 没有相关的日志输出.

我在 S3 上面跑过, 一切正常。

还直接支持USB鼠标。

貌似资源文件没找到。是用release.sh生成的zip包吗?

离线

#36 2019-10-22 21:36:09

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

是的  我是按照这个步骤来的
==============================================
使用方法

1.获取源码
git clone https://github.com/zlgopen/awtk.git
git clone https://github.com/zlgopen/awtk-examples.git
git clone https://github.com/zlgopen/awtk-linux-fb.git
cd awtk-linux-fb
2.编辑 awtk_config.py 设置工具链的路径
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
3.编辑 awtk-port/main_loop_linux.c 修改输入设备的文件名
#define FB_DEVICE_FILENAME "/dev/fb0"
#define TS_DEVICE_FILENAME "/dev/input/event0"
#define KB_DEVICE_FILENAME "/dev/input/event1"
4.编译(请先安装scons)
生成内置 demoui 例子,生成结果在 build/bin 文件夹下的 demoui 文件
scons
5.生成发布包
对于内置的 demoui 例子
./release.sh
6.运行
把 release.tar.gz 上传到开发板,并解压,然后运行:

./release/bin/demoui


lixianjing 说:
a32425262 说:

点击触摸屏是有log输出的
就是屏幕一片黑 啥也不显示

晕哥 说:

从 log 上面看, 没有相关的日志输出.

我在 S3 上面跑过, 一切正常。

还直接支持USB鼠标。

貌似资源文件没找到。是用release.sh生成的zip包吗?

离线

#37 2019-10-23 11:42:05

k455619
会员
注册时间: 2018-07-29
已发帖子: 151
积分: 80

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

我现在有个问题
/dev/root                11.5M      5.1M      6.4M  44% /
ATWK有没有小点的DEMO?

离线

#38 2019-10-23 11:58:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

是有点大, arm-linux-strip 处理一下, 删除调试符号,看还能不能变小一点。





离线

#39 2019-10-23 14:45:09

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

是哦 这么大的话 感觉和QT差不多了

晕哥 说:

是有点大, arm-linux-strip 处理一下, 删除调试符号,看还能不能变小一点。

离线

#40 2019-10-24 08:36:45

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

2019-10-24早8:26
删除全部,重新下载后,无法编译了,函数声明和定义不一样的,此处我的修改的是
build/var/awtk/src/base/widget.c文件的
ret_t widget_off_by_tag(widget_t* widget, int32_t tag)

ret_t widget_off_by_tag(widget_t* widget, uint32_t tag)
然后编译通过

# scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
/opt/gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -o build/var/awtk/src/base/widget.o -c -std=gnu99 -g -Wall -Os -DHAS_STD_MALLOC -DWITH_FS_RES -DHAS_STDIO -DWITH_VGCANVAS -DWITH_UNICODE_BREAK -DLINUX -DSTBTT_STATIC -DSTB_IMAGE_STATIC -DWITH_STB_IMAGE -DWITH_STB_FONT -DWITH_NANOVG_AGGE -DWITH_WIDGET_TYPE_CHECK -DLINUX -DHAS_PTHREAD -DENABLE_CURSOR -DHAS_TSLIB -I/opt/tslib/include -I/workdir/awtk/awtk -I/workdir/awtk/awtk/src -I/workdir/awtk/awtk/3rd -I/workdir/awtk/awtk/src/ext_widgets -I/workdir/awtk/awtk/tools -I/workdir/awtk/awtk/3rd/agge -I/workdir/awtk/awtk/3rd/agg/include -I/workdir/awtk/awtk/3rd/nanovg -I/workdir/awtk/awtk/3rd/nanovg/base -I/workdir/awtk/awtk/3rd/libunibreak -I/workdir/awtk/awtk/3rd/gpinyin/include build/var/awtk/src/base/widget.c
build/var/awtk/src/base/widget.c: In function 'widget_set_theme':
build/var/awtk/src/base/widget.c:392:15: warning: unused variable 'vgcanvas' [-Wunused-variable]
   vgcanvas_t* vgcanvas = canvas_get_vgcanvas(canvas);
               ^~~~~~~~
build/var/awtk/src/base/widget.c: At top level:
build/var/awtk/src/base/widget.c:961:7: error: conflicting types for 'widget_off_by_tag'
 ret_t widget_off_by_tag(widget_t* widget, int32_t tag) {
       ^~~~~~~~~~~~~~~~~
In file included from build/var/awtk/src/base/widget.c:33:0:
/workdir/awtk/awtk/src/base/widget.h:1210:7: note: previous declaration of 'widget_off_by_tag' was here
 ret_t widget_off_by_tag(widget_t* widget, uint32_t tag);
       ^~~~~~~~~~~~~~~~~
scons: *** [build/var/awtk/src/base/widget.o] Error 1
scons: building terminated because of errors.

解压后还是啥都不显示,看来是作者说的对。没有资源文件,以下是打包时候的日志

# ./release.sh 
APP_ROOT = ../awtk/demos
‘build/bin/demo1’ -> ‘release/bin/demo1’
‘build/bin/demo_animator’ -> ‘release/bin/demo_animator’
‘build/bin/demo_desktop’ -> ‘release/bin/demo_desktop’
‘build/bin/demo_thread’ -> ‘release/bin/demo_thread’
‘build/bin/demotr’ -> ‘release/bin/demotr’
‘build/bin/demoui’ -> ‘release/bin/demoui’
‘build/bin/demovg’ -> ‘release/bin/demovg’
‘build/bin/input_test’ -> ‘release/bin/input_test’
‘build/bin/mouse_test’ -> ‘release/bin/mouse_test’
‘build/bin/preview_ui’ -> ‘release/bin/preview_ui’
‘build/bin/tslib_test’ -> ‘release/bin/tslib_test’
‘build/bin/xml_to_ui’ -> ‘release/bin/xml_to_ui’
removed ‘release/bin/input_test’
removed ‘release/bin/mouse_test’
removed ‘release/bin/tslib_test’
removed ‘release/bin/demo1’
removed ‘release/bin/demovg’
removed ‘release/bin/demotr’
removed ‘release/bin/demo_animator’
removed ‘release/bin/demo_thread’
removed ‘release/bin/demo_desktop’
cp: cannot stat ‘../awtk/demos/assets/raw/data/*’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/fonts/*’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/images/x1’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/images/xx’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/images/svg/*.bsvg’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/scripts/*’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/strings/*.bin’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/styles/*.bin’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/ui/*.bin’: No such file or directory
cp: cannot stat ‘../awtk/demos/assets/raw/xml/*’: No such file or directory
release/
release/bin/
release/bin/preview_ui
release/bin/demoui
release/bin/xml_to_ui
release/assets/
release/assets/raw/
release/assets/raw/strings/
release/assets/raw/styles/
release/assets/raw/xml/
release/assets/raw/data/
release/assets/raw/images/
release/assets/raw/images/svg/
release/assets/raw/scripts/
release/assets/raw/fonts/
release/assets/raw/ui/

那么问题来了,我从哪里拷贝这些资源文件呢
以下是v3s上面的错误日志

# ./release/bin/demo
try /mnt/awtk
try /mnt/awtk/release/bin
app_root=/mnt/awtk/release
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
!!!Asset [name=en_US type=strings] not exist!!!
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
!!!Asset [name=en type=strings] not exist!!!
fb_info_t: /dev/fb0
fb_info_t: xres=480 yres=272 bits_per_pixel=32 mem_size=522240
fb_info_t: red(16 8) green(8 8) blue(0 8)
line_length=1920 mem_size=522240 smem_len=522240
xres_virtual =480 yres_virtual=272 xpanstep=0 ywrapstep=0
ratio=1.000000 480 272
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
assets_manager_preload:681 info != NULL
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
assets_manager_preload:681 info != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
!!!Asset [name=default type=font] not exist!!!
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
try_load_assets:308 assets_manager_build_asset_filename(am, path, MAX_PATH, FALSE, subpath, name, extname) == RET_OK
!!!Asset [name=default type=font] not exist!!!
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
canvas_measure_text_default:259 c != NULL && str != NULL && c->font != NULL
font_get_glyph:26 f != NULL && f->get_glyph != NULL && g != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
theme_find_style:89 t != NULL && t->data != NULL
input_dispatch_one_event:71 mouse read failed(ret=-1, errno=0, fd=-1, filename=/dev/input/mice)
Print mouse: : Success
input_dispatch_one_event:71 mouse read failed(ret=-1, errno=2, fd=-1, filename=/dev/input/mice)
Print mouse: : No such file or directory

最近编辑记录 a32425262 (2019-10-24 10:23:52)

离线

楼主 #41 2019-10-24 11:24:46

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

不好意思,麻烦更新一下AWTK和awtk-linux-fb。

前几天加了多主题实时切换功能,资源加了一级目录,release.sh忘记更新了。

离线

#42 2019-10-24 12:42:45

a32425262
会员
注册时间: 2018-05-06
已发帖子: 104
积分: 401

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

终于可以了,差点从入门到放弃

lixianjing 说:

不好意思,麻烦更新一下AWTK和awtk-linux-fb。

前几天加了多主题实时切换功能,资源加了一级目录,release.sh忘记更新了。

离线

楼主 #43 2019-10-24 14:04:05

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

辛苦了,是我的疏忽。

离线

#44 2019-10-31 09:35:10

zhenfanhei
会员
注册时间: 2018-01-18
已发帖子: 300
积分: 240
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

@lixianjing楼主大神,正在学习,想用自定义的数字图片,要用哪个控制来显示呢,我用image  image_value  label都试过了, 用了个timer,定义刷,或者2个按键+ 或-,在cb函数里面改变显示的图片,但没实现,求指点
QQ图片20191031092847.png
QQ图片20191031093039.png

代码类似这样
//widget_t*    image_temper11 = image_value_create(win, 43, 74, 63, 80);
//image_value_set_image(image_temper11, "dig_");
//image_value_set_value(image_temper11, 3);
 
widget_t*    image_temper11 = image_create(win, 43, 74, 63, 80);
image_set_image(image_temper11, "btn_1_manual");
image_set_draw_type(image_temper11, IMAGE_DRAW_DEFAULT);    //IMAGE_DRAW_ICON

timer_add(on_systime_update, win, 2000);


static ret_t on_systime_update(const timer_info_t* timer) {
...
    widget_t* image = widget_lookup(win, "image_temper11", TRUE);
   
  if(++level>9)
      level=9;

  image_set_image(image_temper11, "dig_6");    
  //image_value_set_value(image_temper11, level);

...
 
  return RET_REPEAT;
}





离线

楼主 #45 2019-10-31 13:55:28

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

image_value应该可以啊。遇到什么问题?

最近编辑记录 lixianjing (2019-10-31 14:12:24)

离线

#46 2019-10-31 14:41:23

zhenfanhei
会员
注册时间: 2018-01-18
已发帖子: 300
积分: 240
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

定时刷,图片不会更新,只会显示初始化时候的那张图,后面定时动态更新图片,不会变化,但我猎取系统时间显示是ok的
QQ图片20191031143905.png

QQ图片20191031143941.png

最近编辑记录 zhenfanhei (2019-10-31 14:49:24)





离线

楼主 #47 2019-11-03 17:57:51

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

我测试没问题啊,你参考一下:https://github.com/zlgopen/awtk-c-demos/blob/master/demos/image_value.c

你设置控件的名称了吗?上面的代码没看到。设置名称之后才能用widget_lookup查找:

```
widget_set_name(image_value, "image_temper11");
```

离线

#48 2019-11-03 19:29:28

zhenfanhei
会员
注册时间: 2018-01-18
已发帖子: 300
积分: 240
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

谢谢大神,参照demo已经弄好了,label, image_value都行了





离线

楼主 #49 2019-11-03 21:27:04

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

好的,谢谢支持。

离线

#50 2019-11-05 16:56:04

cris8259
会员
注册时间: 2019-09-25
已发帖子: 272
积分: 81

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

编译出来的demo怎么都很大,7M左右

离线

楼主 #51 2019-11-05 17:38:51

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

strip是必备技能:

ls -l build/bin/demoui 
-rwxr-xr-x 1 l 6870909 Nov  5 01:35 build/bin/demoui

arm-linux-strip build/bin/demoui

ls -l build/bin/demoui 
-rwxr-xr-x 1  2063712 Nov  5 01:36 build/bin/demoui

离线

楼主 #52 2019-11-05 17:40:59

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

STM32F103用keil编译的代码约170K。

Program Size: Code=173094 RO-data=228930 RW-data=1040 ZI-data=24808  

离线

#53 2019-11-05 17:45:25

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

不错,2M还是挺优秀的

离线

#54 2019-11-05 19:50:16

cris8259
会员
注册时间: 2019-09-25
已发帖子: 272
积分: 81

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

arm-linux-gnueabi-strip build/bin/demoui
arm-linux-gnueabi-strip:build/bin/demoui: 不可识别的文件格式

不可识别怎么解决

最近编辑记录 cris8259 (2019-11-05 19:50:42)

离线

楼主 #55 2019-11-06 09:22:32

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

cris8259 说:

arm-linux-gnueabi-strip build/bin/demoui
arm-linux-gnueabi-strip:build/bin/demoui: 不可识别的文件格式

不可识别怎么解决

要用工具链配套的strip,如果你编译的PC版本,直接用strip即可。

离线

#56 2019-11-06 09:59:59

cris8259
会员
注册时间: 2019-09-25
已发帖子: 272
积分: 81

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

2.编辑 awtk_config.py 设置工具链的路径
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'

按照步骤2改成
#for prebuild tslib
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-'
#TOOLS_PREFIX='/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-'

#for pc build
TOOLS_PREFIX=''
TSLIB_LIB_DIR=''
OS_FLAGS='-g -Wall '

发现TOOLS_PREFIX有两次赋值

离线

#57 2019-11-06 11:20:28

cris8259
会员
注册时间: 2019-09-25
已发帖子: 272
积分: 81

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

有没有简单浅显的入门教程。clone awtk.git  awtk-examples.git  awtk-linux-fb.git ,这三个文件夹之间有个什么样的关系,文件之间是怎么关联起来的?自己的代码文件应该放在哪里,什么样的文件组织形式比较合适?

离线

楼主 #58 2019-11-06 13:46:57

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

https://github.com/zlgopen/awtk-linux-fb 的README里有写啊,三者并列放到同一个目录。

离线

#59 2019-11-06 14:02:41

cris8259
会员
注册时间: 2019-09-25
已发帖子: 272
积分: 81

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

让开发者自己写文档着实难为了。

离线

楼主 #60 2019-11-06 15:58:43

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

谢谢支持。我们会持续完善文档。

离线

#61 2019-11-06 17:19:11

EddyZhan
会员
注册时间: 2018-05-11
已发帖子: 59
积分: 153.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

lixianjing 说:

谢谢支持。我们会持续完善文档。

想问一下大神,串口收到的数据想显示到ATWK界面中,如何操作比较好呢?

能否直接修改win_main.c文件,但是这样感觉软件架构就乱了。。

有没有其他好的方法?

离线

#62 2019-11-06 18:03:38

zhenfanhei
会员
注册时间: 2018-01-18
已发帖子: 300
积分: 240
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

楼主,有个新问题请教, 想把中文字符传到strings.xml里面的%s, 要用什么办法呢?
locale设置的中文,
<string name="Mlti_load1 %s">
    <language name="en_US">Mlti_load1 %s</language>
    <language name="zh_CN">多功能负载1 %s</language>

代码里面这样:

          tk_snprintf(str, sizeof(str), format, "Open"); //可以
          widget_set_tr_text(btn, str);       

但传中文字符串就不行了, 传strings.xml里面定义过的英文串也不行,还是显示的英文,若传中文串过去则不会显示出来





离线

楼主 #63 2019-11-07 11:02:56

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

zhenfanhei 说:

楼主,有个新问题请教, 想把中文字符传到strings.xml里面的%s, 要用什么办法呢?
locale设置的中文,

但传中文字符串就不行了, 传strings.xml里面定义过的英文串也不行,还是显示的英文,若传中文串过去则不会显示出来

中文需要用UTF8编码。

离线

楼主 #64 2019-11-07 11:07:15

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

EddyZhan 说:
lixianjing 说:

谢谢支持。我们会持续完善文档。

想问一下大神,串口收到的数据想显示到ATWK界面中,如何操作比较好呢?

能否直接修改win_main.c文件,但是这样感觉软件架构就乱了。。

有没有其他好的方法?

这个话题很有意思。有空可以玩玩AWTK-MVVM: https://github.com/zlgopen/awtk-mvvm

离线

#65 2019-11-07 11:59:16

zhenfanhei
会员
注册时间: 2018-01-18
已发帖子: 300
积分: 240
个人网站

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

楼主大神, widget_set_text_utf8 (btn, "打开");   显示不出来, 
widget_set_text_utf8 (btn, "Open"); 能显示,这个可能是什么情况?

可以了,结贴,xx为strings.xml中定义过的串就行了,
widget_set_tr_text(btn, "xx");

最近编辑记录 zhenfanhei (2019-11-07 12:04:38)





离线

楼主 #66 2019-11-07 14:07:00

lixianjing
会员
注册时间: 2019-04-25
已发帖子: 103
积分: 99.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

zhenfanhei 说:

楼主大神, widget_set_text_utf8 (btn, "打开");   显示不出来, 
widget_set_text_utf8 (btn, "Open"); 能显示,这个可能是什么情况?

可以了,结贴,xx为strings.xml中定义过的串就行了,
widget_set_tr_text(btn, "xx");


1. 用vscode把源文件转换程UTF8-BOM格式。

2. 确认字体中包含中文字库。

离线

#67 2019-12-05 13:53:48

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

折腾几个晚上没有编译过去遇见各种各样的问题,什么编码问题改成utf-8,后来编译还是有错,最后可能是Ubuntu16.4自动的python2.2版本太低了,还没有到上测试。

离线

#68 2019-12-05 21:15:45

大帅
会员
注册时间: 2019-01-17
已发帖子: 169
积分: 128.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

各路大神,这是什么错误啊?

root@osboxes:/work/EmbedSky/AWTK/awtk-linux-fb# scons
Traceback (most recent call last):
  File "/usr/local/bin/scons", line 195, in <module>
    import SCons.Script
  File "/usr/local/lib/scons/SCons/Script/__init__.py", line 94, in <module>
    from . import Main
  File "/usr/local/lib/scons/SCons/Script/Main.py", line 1016
    except SCons.Errors.StopError as e:
         ^
SyntaxError: invalid syntax
root@osboxes:/work/EmbedSky/AWTK/awtk-linux-fb#

最近编辑记录 大帅 (2019-12-05 21:16:09)

离线

#69 2019-12-05 21:23:38

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

会不会是 python 版本问题, 我的 /usr/bin/python 是 2.7 的.





离线

#70 2019-12-11 17:42:52

yangchao
会员
注册时间: 2019-12-11
已发帖子: 1
积分: 1

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

你好,使用atwk 请指导下,我移植到板子上,出现闪屏的现象。   
  我使用基于framebuffer实现的 LCD接口 ,目前使用如下,出现闪屏。
platform_create_lcd {     
     return  lcd_mem_bgr565_create_three_fb(w, h, (rt_uint8_t *)frame_buffer0, (rt_uint8_t *)frame_buffer1, (rt_uint8_t *)frame_buffer2);
}

我大致推断是把还没有绘制完的framebuffer,直接刷了。或者在刷的同时,有在更新framebuffer。  求助在哪个位置 获取已经绘制完成的 offline_framebuffer。

离线

#71 2019-12-16 09:36:08

szchen2006
会员
注册时间: 2019-10-09
已发帖子: 216
积分: 166.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

学习了。

离线

#72 2019-12-25 20:54:42

范佩佩东
会员
注册时间: 2019-11-21
已发帖子: 2
积分: 2

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

yangchao 说:

你好,使用atwk 请指导下,我移植到板子上,出现闪屏的现象。   
  我使用基于framebuffer实现的 LCD接口 ,目前使用如下,出现闪屏。
platform_create_lcd {     
     return  lcd_mem_bgr565_create_three_fb(w, h, (rt_uint8_t *)frame_buffer0, (rt_uint8_t *)frame_buffer1, (rt_uint8_t *)frame_buffer2);
}

我大致推断是把还没有绘制完的framebuffer,直接刷了。或者在刷的同时,有在更新framebuffer。  求助在哪个位置 获取已经绘制完成的 offline_framebuffer。

请问解决了嘛?我使用s3c2440出现问题,倒不是闪屏,刷了一次就完全黑掉了

离线

#73 2020-01-13 17:08:36

dave
会员
注册时间: 2018-08-25
已发帖子: 35
积分: 5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

@lixianjing
刚刚安装了 AWTK Designer,看到许可到期是 2020/5/13
请问到期之后是收费的吗?
还有后期的模式是否为 AWTK Designer软件收费,GUI代码免费呢?
请说明,谢谢了

离线

#74 2020-01-14 09:00:20

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

转发官方回复:

AWTK开源,设计器免费。我们不靠它赚钱,只靠它吸引客户。设计器高级功能对ZLG客户免费开放,加入开发生态,提供开源组件,移植,写博客均有机会获得免费使用高级功能。





离线

#75 2020-03-01 15:52:58

泽被苍生
会员
注册时间: 2019-12-15
已发帖子: 24
积分: 24

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

我的目标板是荔枝zero那么交叉编译的时候awtk-linux-fb里面的中awtk_config.py文件里面的
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
该怎么更改?

离线

#76 2020-03-01 17:06:24

泽被苍生
会员
注册时间: 2019-12-15
已发帖子: 24
积分: 24

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

这是AWTK在linux平台下的说明文档
# AWTK针对arm-linux平台的移植。

[AWTK](https://github.com/zlgopen/awtk)是为嵌入式系统开发的GUI引擎库。

[awtk-linux-fb](https://github.com/zlgopen/awtk-linux-fb)是AWTK在arm-linux上的移植。

本项目以[ZLG周立功 linux开发套件 AWork平台iMX287A 入门级ARM9开发板](https://item.taobao.com/item.htm?spm=a230r.1.14.1.29c8b3f8qxjYf7&id=536334628394&ns=1&abbucket=17#detail) 为载体移植,其它开发板可能要做些修改,有问题请请创建issue。

## 使用方法

* 1.获取源码

> 以下三者并列放在同一个目录。

```
git clone https://github.com/zlgopen/awtk.git
git clone https://github.com/zlgopen/awtk-examples.git
git clone https://github.com/zlgopen/awtk-linux-fb.git
cd awtk-linux-fb
```

* 2.编辑 awtk_config.py 设置工具链的路径

```
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
```

* 3.编辑 awtk-port/main\_loop\_linux.c 修改输入设备的文件名

```
#define FB_DEVICE_FILENAME "/dev/fb0"
#define TS_DEVICE_FILENAME "/dev/input/event0"
#define KB_DEVICE_FILENAME "/dev/input/event1"
```

* 4.编译(请先安装scons)

生成内置 demoui 例子,生成结果在 build/bin 文件夹下的 demoui 文件

```
scons
```

也可以指定生成其他 Demo,生成结果在 build/bin 文件夹下的 demo 文件

```
scons APP=../awtk-examples/HelloWorld-Demo
```

* 5.生成发布包

对于内置的 demoui 例子

```
sh ./release.sh
```

对于其他 Demo,需要加入资源文件夹参数,指向应用程序 assets 的父目录

```
sh ./release.sh ../awtk-examples/HelloWorld-Demo/res demo
sh ./release.sh ../awtk-examples/Chart-Demo/res_800_480 demo
```

* 6.运行

把 release.tar.gz 上传到开发板,并解压,然后运行:

```
./release/bin/demoui
./release/bin/demo
```

## 其他问题

#### 修改项目路径

默认情况下,scons 脚本假设以下文件夹在同一个目录

```
zlgopen
  |-- awtk
  |-- awtk-examples
  |-- awtk-linux-fb
```

如果实际存放的路径与默认不同,则需要修改以下 awtk-linux-fb/SConstruct 代码,例如:

```
TK_ROOT = joinPath(os.getcwd(), '../awtk')
APP_ROOT=joinPath(os.getcwd(), '../awtk-examples/HelloWorld-Demo')
```





所以按照文档来说我看应该需要改步骤2的三句话
* 2.编辑 awtk_config.py 设置工具链的路径

```
TSLIB_LIB_DIR='/opt/28x/tslib/lib'
TSLIB_INC_DIR='/opt/28x/tslib/include'
TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
```

最近编辑记录 泽被苍生 (2020-03-01 17:08:01)

离线

#77 2020-03-01 17:09:44

泽被苍生
会员
注册时间: 2019-12-15
已发帖子: 24
积分: 24

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

而tslib我是用buildroot编译的所以问题是buildroot编译的tslib结果输出在什么目录下。

离线

#78 2021-09-23 10:20:54

saub
会员
注册时间: 2020-01-28
已发帖子: 102
积分: 60

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

这个如果能支持OPWRT系统应用开发就太好了

离线

#79 2021-09-23 19:30:09

apollo800
会员
注册时间: 2018-10-03
已发帖子: 21
积分: 10

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

商用,到底是不是免费呢?

最近编辑记录 apollo800 (2021-09-23 19:30:26)

离线

#80 2021-09-23 21:08:59

Blueskull
会员
注册时间: 2020-02-20
已发帖子: 458
积分: 444.5

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

apollo800 说:

商用,到底是不是免费呢?

LGPL协议,要求如果你是开发app,你的awtk部分必须动态链接。如果你开发嵌入式系统,那你的rootfs必须可供下载,而且awtk必须动态链接,而且so文件可替换。

离线

#81 2021-10-09 09:40:46

坑底之蛙
会员
注册时间: 2019-05-13
已发帖子: 11
积分: 11

Re: ZLG开源 GUI 引擎 AWTK 1.1 发布

枕边书《系统程序员:成长计划》真是嵌入式方面的精华,值得广告一波

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn