6 窗口菜单
5 分钟阅读
原生应用菜单既可以附加到窗口,也可以附加到系统托盘。仅桌面端可用。
创建基础菜单
要创建一个基础的原生窗口菜单并把它附加到窗口,你可以创建各种类型的菜单项,包括基础项、勾选项和分隔线:
语言
使用 Menu.new 静态函数创建窗口菜单:
| |
| |
监听自定义菜单项上的事件
每个自定义菜单项在被点击时都会触发一个事件。使用 on_menu_event API 处理它们。
语言
| |
| |
创建多级菜单
多级菜单让你可以把菜单项归组到 “File”“Edit” 之类的分类下。在 Windows 或 Linux 上,它们会作为应用窗口的一部分出现;在 macOS 上则出现在菜单栏中。
注意: 在 macOS 上使用子菜单时,所有项都必须归组到某个子菜单下。顶层项会被忽略。此外,第一个子菜单默认会被放在应用的“关于”菜单之下,与它的 text 标签无关。你应当把某个子菜单作为第一项(比如一个 “About” 子菜单)来填充这个位置。
注意
子菜单的图标支持从 Tauri 2.8.0 起可用。
语言
| |
| |
注意你需要启用 image-ico 或 image-png 特性才能使用这个 API:
| |
创建预定义菜单
要使用由操作系统或 Tauri 预定义行为的内置(原生)菜单项:
语言
| |
| |
关于更多预置能力,请参阅 PredefinedMenuItem 文档。
提示
菜单构建器为每个预定义菜单项都提供了专用方法,因此你可以调用 .copy(),而不必写 .item(&PredefinedMenuItem::copy(app, None)?)。
修改菜单状态
如果你想修改菜单的状态,例如文本、图标或勾选状态,可以再次调用 set_menu:
语言
| |
| |