托盘
托盘图标类及相关方法。此类型构造函数为私有,您应该改用静态方法 TrayIcon.new
。
与 Rust 不同,JavaScript 没有在对象被垃圾回收时运行清理代码的方法,但此托盘图标将在 Tauri 应用程序退出时被清理。但是,如果您想提前清理此对象,则需要调用 TrayIcon.close
。
import { TrayIcon } from '@tauri-apps/api/tray';const tray = await TrayIcon.new({ tooltip: 'awesome tray tooltip' });tray.set_tooltip('new tooltip');
属性 | 修饰符 | 类型 | 描述 | 定义于 |
---|---|---|---|---|
id | 公共 | 字符串 | 与此托盘图标关联的 ID。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L160 |
get rid(): number
数字
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L309
close(): Promise<void>
销毁并从内存中清理此资源。您不应该再在此对象上调用任何方法,并且应该丢弃对它的任何引用。
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L321
setIcon(icon): Promise<void>
设置新的托盘图标。如果提供 null
,将删除图标。
请注意,您可能需要 image-ico
或 image-png
Cargo 功能才能使用此 API。要启用它,请更改您的 Cargo.toml 文件
[dependencies]tauri = { version = "...", features = ["...", "image-png"] }
参数 | 类型 |
---|---|
图标 | | null | string | Uint8Array | number [] | ArrayBuffer | Image |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L224
setIconAsTemplate(asTemplate): Promise<void>
将当前图标设置为模板。仅限 macOS
参数 | 类型 |
---|---|
作为模板 | 布尔值 (boolean) |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L292
setMenu(menu): Promise<void>
设置新的托盘菜单。
平台特定
- Linux:一旦设置了菜单就无法删除,因此
null
没有效果
参数 | 类型 |
---|---|
menu | null | Submenu | Menu |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L241
setMenuOnLeftClick(onLeft): Promise<void>
禁用或启用左键单击时显示托盘菜单。
平台特定
- Linux:不支持。
参数 | 类型 |
---|---|
左键单击 | 布尔值 (boolean) |
Promise
<void
>
请改用 TrayIcon.setShowMenuOnLeftClick
。
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L308
setShowMenuOnLeftClick(onLeft): Promise<void>
禁用或启用左键单击时显示托盘菜单。
平台特定
- Linux:不支持。
参数 | 类型 |
---|---|
左键单击 | 布尔值 (boolean) |
Promise
<void
>
2.2.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L324
setTempDirPath(path): Promise<void>
设置托盘图标临时目录路径。仅限 Linux。
在 Linux 上,我们需要将图标写入磁盘,通常是 $XDG_RUNTIME_DIR/tray-icon
或 $TEMP/tray-icon
。
参数 | 类型 |
---|---|
path | null | string |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L287
setTitle(title): Promise<void>
为此托盘图标设置工具提示。
平台特定
- Linux: 除非同时有图标,否则标题将不会显示。标题对于数字和其他频繁更新的信息很有用。通常,除非用户请求,否则不应显示它,因为它可能会占用用户面板上的大量空间。这可能不会在所有可视化中显示。
- Windows: 不支持
参数 | 类型 |
---|---|
标题 | null | string |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L272
setTooltip(tooltip): Promise<void>
为此托盘图标设置工具提示。
平台特定
- Linux: 不支持
参数 | 类型 |
---|---|
工具提示 | null | string |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L256
setVisible(visible): Promise<void>
显示或隐藏此托盘图标。
参数 | 类型 |
---|---|
可见 | 布尔值 (boolean) |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L277
static getById(id): Promise<null | TrayIcon>
使用提供的 ID 获取托盘图标。
参数 | 类型 |
---|---|
ID | 字符串 |
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L168
static new(options?): Promise<TrayIcon>
创建新的 TrayIcon
平台特定
- Linux: 有时图标只有在设置了菜单后才能看到。设置一个空的
Menu
就足够了。
参数 | 类型 |
---|---|
选项 ? | TrayIconOptions |
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L192
static removeById(id): Promise<void>
从 Tauri 的内部状态中删除指定 ID 的托盘图标。
请注意,如果托盘图标没有被克隆到其他地方或被 JS 引用,这可能会导致托盘图标消失。
参数 | 类型 |
---|---|
ID | 字符串 |
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L180
TrayIcon
创建选项
type MouseButton: "Left" | "Right" | "Middle";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L11
type MouseButtonState: "Up" | "Down";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L10
type TrayIconClickEvent: object;
名称 | 类型 | 描述 | 定义于 |
---|---|---|---|
按钮 | MouseButton | 触发此事件的鼠标按钮。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L35 |
按钮状态 | MouseButtonState | 触发此事件时鼠标按钮的状态。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L37 |
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L33
type TrayIconEvent: | TrayIconEventBase<"Click"> & TrayIconClickEvent | TrayIconEventBase<"DoubleClick"> & Omit<TrayIconClickEvent, "buttonState"> | TrayIconEventBase<"Enter"> | TrayIconEventBase<"Move">| TrayIconEventBase<"Leave">;
描述托盘图标事件。
平台特定
- Linux:不支持。即使图标显示,事件也不会触发,图标仍会在右键单击时显示上下文菜单。
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L48
type TrayIconEventBase<T>: object;
类型参数 |
---|
T 扩展 TrayIconEventType |
名称 | 类型 | 描述 | 定义于 |
---|---|---|---|
ID | 字符串 | 触发此事件的托盘图标 ID。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L23 |
位置 | 物理位置 | 触发此事件的点击的物理位置。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L25 |
矩形 | 对象 | 托盘图标的位置和大小。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L27 |
rect.position | 物理位置 | - | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L28 |
rect.size | 物理大小 | - | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L29 |
类型 | T | 托盘图标事件类型 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L21 |
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L19
type TrayIconEventType: | "Click" | "DoubleClick" | "Enter" | "Move" | "Leave";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L12
© 2025 Tauri 贡献者。CC-BY / MIT