Surrealism-All / SurrealismUI

A third-party UI library using Slint, I think it will give you an extraordinary experience
https://surrealism-all.github.io/SurrealismUI.github.io/
MIT License
197 stars 19 forks source link

提一个建议 #25

Closed lifeRobot closed 7 months ago

lifeRobot commented 7 months ago

目前这个项目的UI,需要在github上下载到本地,然后手动引入,如果版本更新,会比较麻烦,而且没有版本更新提示,只能到GitHub查看才知道有没有发布版本,所以我创建了一个项目jui(crates),你这边可以看一下有没有参考价值

jui是根据slint的CompilerConfiguration::new().with_library_paths,将jui作为lib,以【@jui/】的方式给slint文件加载使用,用这个方法,可以解决每次升级都要下载文件的方式,并且可以在crates.io上直接发布版本进行更新

有个问题就是,如果组件的slint文件过多,就像这个项目,可能很麻烦,因为我尝试了fs::read_dir来读取目录,用循环的方式去直接将文件copy到OUT_DIR目录下,但是fs::read_dir一直读取不到lib下的文件,目前最后是用include_bytes宏解决的,所以麻烦就在这里,include_bytes只支持一个文件,文件太多维护很困难

希望这种方式对你有用,如果你考虑用这种方式,希望可以找到一个可以在build.rs中读取目录,并循环读取文件的方法