您尚未登录。

#1 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl roller控件怎样动态调整字体大小 » 2020-07-13 19:41:15

TANK
回复: 1

roller控件,怎样设置当前选中项的字体大于其他未选中项,直接设置字体大小显示会出错,求大神指教,多谢。

#2 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl界面怎样循环点亮led灯 » 2020-04-22 10:04:02

达克罗德 说:

跨线程操作UI有点危险的,不过你的任务简单,可能也没问题

感谢,今天还真就遇到这个问题了,单开任务处理LED动画时,相当于一个独立于界面的线程在执行,切换界面后,这个任务仍在执行,导致另一个界面加载会崩溃,切换界面后删除LED动画任务就好了。

#3 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl label显示奇数个汉字,最后一个是问号? » 2020-04-15 15:12:16

这个问题解决了,用UTF8硬编码就可以,比如“测试下”三个字,“\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x8B”这种格式

#5 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl界面怎样循环点亮led灯 » 2020-04-14 16:10:24

达克罗德 说:

对,因为这还是UI线程,你停在这里的时候,UI就不能执行别的操作。不光是这个llvgl,PC上界面也是的。
定一个定时器,比如100ms周期。动画总长1秒,所以把你的动画分成10个状态:
(idle,LED1 On,LED1 OFF, LED2 On, LED2 OFF。。。)
在定时响应函数里每个状态干一个事情就好。
因为你每次干的事情比较短,马上就干完回到UI了,就不会阻塞UI刷新了。

我不熟悉lvgl,具体timer 怎么定义你要去查资料了。


感谢回复,我用lvgl自带的任务函数,把LED灯的循环放在周期任务中就好了。

#6 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl界面怎样循环点亮led灯 » 2020-04-13 17:46:47

达克罗德 说:

UI线程里不能用delay的。要用timer,弄个状态机

timer怎么弄?我试了下用for循环去循环读取Windows的时间,但也是等待for循环执行结束后才加载整个界面

#7 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl界面怎样循环点亮led灯 » 2020-04-13 17:16:19

TANK
回复: 8

在一个界面上显示了4个LED灯,可以用代码点亮或点灭。

现在想每次只点亮一个,动画的话每次只能在两种界面之间切换,那么循环点亮需要创建4个动画,我想最好能用for循环加延时函数实现,但是littlevgl+VS模拟器似乎不支持延时函数,使用Windows的延时函数Sleep()会将整个界面延时加载,求问有什么好的实现方法?

#8 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevgl label显示奇数个汉字,最后一个是问号? » 2020-04-13 16:53:57

TANK
回复: 2

偶数个汉字没有问题,奇数个汉字的话,最后一个字显示会有问题,求问怎么解决?

#9 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevGL怎样在显示完一个动画后再显示label » 2020-04-07 08:56:06

TANK 说:

搞出来了,创建两个任务,第一个任务中显示动画,第二个任务重删除动画就好了。

ready_cb函数就可以。

#10 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevGL怎样在显示完一个动画后再显示label » 2020-04-03 14:24:39

搞出来了,创建两个任务,第一个任务中显示动画,第二个任务重删除动画就好了。

#11 Re: 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevGL怎样在显示完一个动画后再显示label » 2020-04-02 15:26:14

达克罗德 说:

先隐藏,然后动画结束的cb里取消隐藏

大神,求问动画执行完的cb是哪个?

#12 计算机图形/GUI/RTOS/FileSystem/OpenGL/DirectX/SDL2 » littlevGL怎样在显示完一个动画后再显示label » 2020-04-02 09:13:35

TANK
回复: 4

大侠们,小弟在tabview中的一个tab上实现了一个启动动画,

想法是:
       启动动画执行完成后再加载label,显示一些文字。

问题:
       实现过程中发现 动画和label 是同时出现,

尝试过的方法:
       1. 在创建label的函数前面增加延时也不行,Windows模拟器中用Sleep()或while循环函数延时后,效果是整个tabview所有界面一起延时,然后跳过动画,只显示label.
       2. 动画结构体中的回调函数 ready_cb 赋值为加载label的函数也不行,ready_cb应该不是干这个事的。


有哪位大侠有这方面的经验,求不吝赐教。

页脚

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

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