< 返回版块

pama 发表于 2024-11-15 14:38

Tags:gui demo

请熟悉 rust gui 的朋友帮忙实现一个满足以下要求的最小 hello worddemo:

  • 使用 iced(iced 优先, 其它的方式或者框架可以加微信的时候预以说明)。
  • 跨平台(OSX/Win/Linux, Rust下多数GUI框架默认)。
  • 托盘图标(右键托盘图标会出现目录,点击目录可显示UI)。
  • 类似 Alfred, 通过快捷键可以呼出UI,点击UI以外的其它区域或者按下ESC会隐藏UI。
  • 菜单目录功能(比如OSX上左上方),可以添加一个变量控制是否有菜单目录功能,比如 Alfred 呼出UI后,在macOS上,左上方是有功能菜单的,再比如 utools 就算呼出UI后,左上角是没有任何当前(utools)应用的功能菜单的,假如你在使用 chrome,那左上方显示的是chrome相关的功能菜单,就算呼出 utools 的UI后,左上方依然显示的是 chrome 的功能菜单。通过一个bool变量,可以编译出支持上述两种情况的二进制(基本默认都是有功能菜单的,主要是需要没有功能菜单的)

说明:UI中仅显示 hello word 字符串即可。 红包:100元RMB做为感谢。

微信号: wxid_rzrfpfa6mfg612

评论区

写评论
作者 pama 2024-11-19 12:21

记得之前一直是gplv3

--
👇
Bai-Jinlin: slint协议改了,现在是只要不是嵌入式,剩下开源闭源怎么搞都可以。

--
👇
pama: slint是挺好的,主要是因为开源协议。

Trojanking 2024-11-19 09:20

可以,我弄过。就是好像左键还是右键有点问题,要自己该点代码。

--
👇
pama: 可以使用 tray-icon 实现吗?

--
👇
liming01: 明显还不支持 https://github.com/iced-rs/iced/issues/124

Bai-Jinlin 2024-11-16 11:12

slint协议改了,现在是只要不是嵌入式,剩下开源闭源怎么搞都可以。

--
👇
pama: slint是挺好的,主要是因为开源协议。

作者 pama 2024-11-15 22:15

是的,所以才在这里发这个求助,哈。

--
👇
yomiko451: iced的系统托盘功能还在路线图上呢,不过结合操作系统API应该可以手动实现,就是比较麻烦 tauri支持系统托盘,官方就有文档,不过毕竟是前端套壳的GUI,楼主不一定喜欢

作者 pama 2024-11-15 22:14

slint是挺好的,主要是因为开源协议。

--
👇
asuper: GUI库我选择的是Slint,一直在用,其他的没用过。

托盘图标(右键托盘图标会出现目录,点击目录可显示UI)。

有第三方的demo https://github.com/Guiguiprim/slint_systry_app

通过快捷键可以呼出UI,点击UI以外的其它区域或者按下ESC会隐藏UI。

快捷键可能要结合其他crate来做,点击UI以外的事件可以用FocusScope组件。

菜单目录功能

目前没发现可以支持系统菜单栏,可能需要自己实现

比较懒,不想做,哈哈

yomiko451 2024-11-15 20:24

iced的系统托盘功能还在路线图上呢,不过结合操作系统API应该可以手动实现,就是比较麻烦 tauri支持系统托盘,官方就有文档,不过毕竟是前端套壳的GUI,楼主不一定喜欢

asuper 2024-11-15 17:54

GUI库我选择的是Slint,一直在用,其他的没用过。

托盘图标(右键托盘图标会出现目录,点击目录可显示UI)。

有第三方的demo https://github.com/Guiguiprim/slint_systry_app

通过快捷键可以呼出UI,点击UI以外的其它区域或者按下ESC会隐藏UI。

快捷键可能要结合其他crate来做,点击UI以外的事件可以用FocusScope组件。

菜单目录功能

目前没发现可以支持系统菜单栏,可能需要自己实现

比较懒,不想做,哈哈

作者 pama 2024-11-15 17:03

可以使用 tray-icon 实现吗?

--
👇
liming01: 明显还不支持 https://github.com/iced-rs/iced/issues/124

liming01 2024-11-15 15:28

明显还不支持 https://github.com/iced-rs/iced/issues/124

1 共 9 条评论, 1 页