tray
类
TrayIcon
托盘图标类和相关方法。此类型构造函数是私有的,相反,您应该使用静态方法 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 | public | string | 与此托盘图标关联的 ID。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L160 |
访问器
rid
获取签名
get rid(): number
返回值
number
继承自
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L286
方法
close()
close(): Promise<void>
销毁并从此内存中清理此资源。您不应再在此对象上调用任何方法,并应删除对其的任何引用。
返回值
Promise
<void
>
继承自
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L298
setIcon()
setIcon(icon): Promise<void>
设置新的托盘图标。如果提供 null
,它将删除图标。
请注意,您可能需要 image-ico
或 image-png
Cargo 功能才能使用此 API。要启用它,请更改您的 Cargo.toml 文件
[dependencies]tauri = { version = "...", features = ["...", "image-png"] }
参数
参数 | 类型 |
---|---|
icon | | null | string | number [] | ArrayBuffer | Uint8Array <ArrayBufferLike > | Image |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L224
setIconAsTemplate()
setIconAsTemplate(asTemplate): Promise<void>
将当前图标设置为 模板。仅 macOS
参数
参数 | 类型 |
---|---|
asTemplate | boolean |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L292
setMenu()
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()
setMenuOnLeftClick(onLeft): Promise<void>
禁用或启用在鼠标左键单击时显示托盘菜单。
平台特定
- Linux:不支持。
参数
参数 | 类型 |
---|---|
onLeft | boolean |
返回值
Promise
<void
>
已弃用
请改用 TrayIcon.setShowMenuOnLeftClick
。
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L308
setShowMenuOnLeftClick()
setShowMenuOnLeftClick(onLeft): Promise<void>
禁用或启用在鼠标左键单击时显示托盘菜单。
平台特定
- Linux:不支持。
参数
参数 | 类型 |
---|---|
onLeft | boolean |
返回值
Promise
<void
>
始于
2.2.0
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L324
setTempDirPath()
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()
setTitle(title): Promise<void>
为此托盘图标设置工具提示。
平台特定
- Linux:除非同时存在图标,否则不会显示标题。标题对于数值和其他频繁更新的信息很有用。一般来说,除非用户要求,否则不应显示标题,因为它会占用用户面板上的大量空间。这可能不会在所有可视化中显示。
- Windows:不支持
参数
参数 | 类型 |
---|---|
title | null | string |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L272
setTooltip()
setTooltip(tooltip): Promise<void>
为此托盘图标设置工具提示。
平台特定
- Linux:不支持
参数
参数 | 类型 |
---|---|
tooltip | null | string |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L256
setVisible()
setVisible(visible): Promise<void>
显示或隐藏此托盘图标。
参数
参数 | 类型 |
---|---|
visible | boolean |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L277
getById()
static getById(id): Promise<null | TrayIcon>
使用提供的 ID 获取托盘图标。
参数
参数 | 类型 |
---|---|
id | string |
返回值
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L168
new()
static new(options?): Promise<TrayIcon>
创建一个新的 TrayIcon
平台特定
- Linux:有时,除非设置了菜单,否则图标将不可见。设置一个空的
Menu
就足够了。
参数
参数 | 类型 |
---|---|
options ? | TrayIconOptions |
返回值
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L192
removeById()
static removeById(id): Promise<void>
使用提供的 ID 从 Tauri 的内部状态中删除托盘图标。
请注意,如果托盘图标未在其他地方克隆或被 JS 引用,则这可能会导致托盘图标消失。
参数
参数 | 类型 |
---|---|
id | string |
返回值
Promise
<void
>
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L180
接口
TrayIconOptions
TrayIcon
创建选项
属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
action? | (event : TrayIconEvent ) => void | 托盘图标上事件的处理程序。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L137 |
icon? | | string | number [] | ArrayBuffer | Uint8Array <ArrayBufferLike > | Image | 托盘图标,可以是图标字节或图标文件路径。请注意,您可能需要 image-ico 或 image-png Cargo 功能才能使用此 API。要启用它,请更改您的 Cargo.toml 文件: [dependencies] tauri = { version = "...", features = ["...", "image-png"] } | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L89 |
iconAsTemplate? | boolean | 将图标用作 模板。仅 macOS。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L115 |
id? | string | 托盘图标 ID。如果未定义,将分配一个随机 ID | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L76 |
menu? | Submenu | Menu | 托盘图标菜单 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L78 |
menuOnLeftClick? | boolean | 是否在鼠标左键单击时显示托盘菜单,默认为 true 。#### 平台特定: - Linux:不支持。 已弃用 请改用 TrayIconOptions.showMenuOnLeftClick 。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L125 |
showMenuOnLeftClick? | boolean | 是否在鼠标左键单击时显示托盘菜单,默认为 true 。#### 平台特定: - Linux:不支持。 始于 2.2.0 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L135 |
tempDirPath? | string | 托盘图标临时目录路径。仅 Linux。在 Linux 上,我们需要将图标写入磁盘,通常它将是 $XDG_RUNTIME_DIR/tray-icon 或 $TEMP/tray-icon 。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L111 |
title? | string | 托盘标题 #### 平台特定 - Linux:除非同时存在图标,否则不会显示标题。标题对于数值和其他频繁更新的信息很有用。一般来说,除非用户要求,否则不应显示标题,因为它会占用用户面板上的大量空间。这可能不会在所有可视化中显示。 - Windows:不支持。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L104 |
tooltip? | string | 托盘图标工具提示 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L91 |
类型别名
MouseButton
type MouseButton: "Left" | "Right" | "Middle";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L11
MouseButtonState
type MouseButtonState: "Up" | "Down";
来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L10
TrayIconClickEvent
type TrayIconClickEvent: object;
类型声明
名称 | 类型 | 描述 | 定义在 |
---|---|---|---|
button | MouseButton | 触发此事件的鼠标按钮。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L35 |
buttonState | 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
TrayIconEvent
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
TrayIconEventBase<T>
type TrayIconEventBase<T>: object;
类型参数
类型参数 |
---|
T 继承自 TrayIconEventType |
类型声明
名称 | 类型 | 描述 | 定义在 |
---|---|---|---|
id | string | 触发此事件的托盘图标的 ID。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L23 |
position | PhysicalPosition | 触发此事件的点击的物理位置。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L25 |
rect | object | 托盘图标的位置和大小。 | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L27 |
rect.position | PhysicalPosition | - | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L28 |
rect.size | PhysicalSize | - | 来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L29 |
type | 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
TrayIconEventType
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