Shisheng Chen

Results 23 issues of Shisheng Chen

有两个模块使用cond_var做线程同步,在Linux下测试都没问题,但在Windows测试发现其中一个模块的`tk_cond_var_wait`不能被唤醒而另一个模块的却可以唤醒。有点奇怪。都是先create `cond_var`然后启动线程,线程里`tk_cond_var_wait`,GUI线程`tk_cond_var_awake`。

这个问题已经在slidable-row仓库反馈过了:zlgopen/awtk-widget-slidable-row#1,在按钮显示位置之上点击时没看到有响应,而需要在沿X轴方向向左移动到其显示外形之外时点击,按钮才会有响应。 我粗略看了slidable-row的代码,没看出什么毛病,百思不得其解,怀疑是AWTK这边的事件处理核心有BUG!

`tab_control`目前似乎只能实现桌面UI效果,而不能实现类似微信主页这种移动式UI的标签切换效果: - 切换时有平移动画 - 可以在页面上通过触控滑动触发标签切换

发现github上不少仓库都转到AWStudio了,那么只能安装AWStudio了。我使用的是ArchLinux系的发行版,于是转换deb包到pacman包格式,然而在转换时发现安装脚本里有些比较危险的操作: ```bash # Soft link libsndio.so to /usr/lib, remove first. if [ -f "$LIB_PATH/libsndio.so.6.1" ]; then rm "$LIB_PATH/libsndio.so.6.1" fi ln -sf "$AW_STUDIO_INSTALL_PATH/node_modules/awtk/libsndio.so.6.1" "$LIB_PATH/libsndio.so.6.1" ``` 直接替换系统库!会影响系统库的兼容性和系统的依赖关系。 ```bash if [ ! -f...

要实现如下图所示的软键盘,应该怎么实现?是创建一个自定义的button控件,还是在button上加popup菜单来实现? ![keyboard](https://user-images.githubusercontent.com/2321526/192703760-15c8f712-a5b1-4428-b4b5-38229b217151.png)

system_bar在显示区域顶部,描述如下 : ```xml ``` popup菜单`menu_down_right.xml`描述如下: ```xml ``` 点击`menu`按钮后菜单没有显示。 改变菜单的布局为如下后,才可以显示: ```xml ```

用awtk-mvvm框架做了一个项目,用C语言做下来感觉很烦琐:头文件要加特定格式的注释、有时要手写view_mode更麻烦。 现在很多声明式UI框架都是用支持反射的语言来实现,这样model实现起来就很简洁,awtk-mvvm也应该如此。 最近研究了下zig的反射,发现很有意思。如下例子: - 一个内置函数`@field(v, field.name)`就搞定了tkc `object`的`get_prop`和`set_prop` - 这个反射是在编译时进行的,如果`field.name`不存在会通不过编译 - 由于不需要在运行时进行字符串查找判断从而性能也很不错 ```zig const std = @import("std"); const Header = struct { magic: u32, title: []const u8, }; const View =...

It seems that `collections.MutableMapping` has been renamed to `collections.ChainMap` on Python 3.10

list_view控件不支持model/view模式,添加表项太麻烦;没有维护item选中,导致选中项高亮显示不好实现。 也因为没有model/view模式,导致性能比较差。

两个列表相互关联,所以让单个view-model显示两列表。我按如下实现了view-model,初始化时两个表示的内容显示正确,但列表内容修改后,列表在显示上没有更新。什么问题? ```xml ``` ```C #include "assay_selector_vm.h" #include "repository/assay_repository.h" #include "common/common.h" #include "pubsub.h" #include "mvvm/base/view_model_array.h" #include "mvvm/base/navigator.h" #include "mvvm/base/utils.h" typedef struct assay_selector_vm { view_model_array_t view_model_array; tk_object_t *names; tk_object_t *lots; int selected_name_index;...