跳转到内容
Tauri

托盘

托盘图标

托盘图标类及其相关方法。该类型构造函数是私有的,相反,您应该使用静态方法 TrayIcon.new

警告

与Rust不同,javascript没有在对象被垃圾回收时运行清理代码的方法,但是当塔里应用存在时,这个托盘图标将被清理。但是,如果您想提前清理此对象,则需要调用 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" name="id"ANCHOR> id公共的字符串与该托盘图标相关的ID。来源:<a href="https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L160">https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L160</a>

访问器

rid
获取签名
get rid(): number
返回

数字

继承自

Resource.rid

来源:<a href="https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L297">https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L297</a>

方法

关闭
close(): Promise<void>

销毁并从内存中清理此资源。《您不应再调用此对象上的任何方法,并且应丢弃对其的任何引用。

返回

继承自

.>

来源:<a href="https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L309">https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L309</a>

设置图标
setIcon(icon): Promise<void>

设置新的托盘图标。如果提供null,将删除图标。

注意,您可能需要`image-ico`或`image-png`Cargo功能才能使用此API。要启用它,更改您的Cargo.toml文件

[dependencies]
tauri = { version = "...", features = ["...", "image-png"] }
参数
参数类型
图标| null | string | number[] | | |
返回

来源:<a href="https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L224">https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L224</a>

将图标设置为模板
setIconAsTemplate(asTemplate): Promise<void>

将当前图标设置为模板。**仅限macOS使用**

参数
参数类型
asTemplate布尔类型
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L292

设置菜单
setMenu(menu): Promise<void>

设置新的托盘菜单。

平台特定

  • Linux:一旦设置了菜单,就无法再删除,因此null不起作用
参数
参数类型
菜单null | 子菜单 | 菜单
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L241

左键点击时设置菜单
setMenuOnLeftClick(onLeft): Promise<void>

禁用或启用在左键点击时显示托盘菜单。

平台特定

  • Linux:不支持。
参数
参数类型
onLeft布尔类型
返回

已弃用

请使用TrayIcon.setShowMenuOnLeftClick代替。

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L308

左键点击时显示菜单
setShowMenuOnLeftClick(onLeft): Promise<void>

禁用或启用在左键点击时显示托盘菜单。

平台特定

  • Linux:不支持。
参数
参数类型
onLeft布尔类型
返回

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

参数
参数类型
路径null | 字符串
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L287

设置标题
setTitle(title): Promise<void>

为这个托盘图标设置工具提示。

平台特定

  • Linux: 除非同时有图标,否则标题不会显示。标题对数值和其他经常更新的信息很有用。通常,除非用户请求,否则不显示,因为它可能会占用用户面板上大量空间。这可能在所有可视化中都不会显示。
  • Windows: 不支持
参数
参数类型
titlenull | 字符串
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L272

设置工具提示
setTooltip(tooltip): Promise<void>

为这个托盘图标设置工具提示。

平台特定

  • Linux: 不支持
参数
参数类型
tooltipnull | 字符串
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L256

设置可见性
setVisible(visible): Promise<void>

显示或隐藏此托盘图标。

参数
参数类型
visible布尔类型
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L277

通过ID获取
static getById(id): Promise<null | TrayIcon>

使用提供的ID获取托盘图标。

参数
参数类型
id字符串
返回

Promise<null | TrayIcon>

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L168

新实例化
static new(options?): Promise<TrayIcon>

创建一个新的TrayIcon

平台特定

  • Linux: 有时除非设置了菜单,否则图标可能看不到。即使设置了空的Menu也足够。
参数
参数类型
options?托盘图标选项
返回

Promise<TrayIcon>

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L192

通过ID移除
static removeById(id): Promise<void>

使用提供的ID从tauri的内部状态中删除托盘图标。

注意,这可能会导致托盘图标消失,如果它没有被其他地方克隆或由JS引用。

参数
参数类型
id字符串
返回

来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L180

接口

托盘图标选项

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-icoimage-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?布尔类型将图标用作 模板。仅限 macOS来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L115
id?字符串托盘图标 ID。如果为 undefined,则将分配一个随机 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?布尔类型是否在左键点击时显示托盘菜单,默认为 true。#### 平台特定:- Linux: 不支持。已被弃用,请使用 TrayIconOptions.showMenuOnLeftClick 代替。来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L125
showMenuOnLeftClick?布尔类型是否在左键点击时显示托盘菜单,默认为 true。#### 平台特定:- Linux: 不支持。自 2.2.0 版本起。来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L135
tempDirPath?字符串托盘图标临时文件夹路径。仅限 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?字符串托盘标题#### 平台特定 - Linux: 只有在存在图标时才会显示标题。标题对于数字和其他频繁更新的信息很有用。一般来说,只有当用户请求显示时才应显示它,因为它可能会占用用户面板上的大量空间。这可能在所有视觉表示中都不会显示。- Windows: 不支持。来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L104
tooltip?字符串托盘图标工具提示来源: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L91

类型别名

鼠标按钮

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;

类型声明

名称类型描述定义在
按钮鼠标按钮触发此事件的鼠标按钮。来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L35
buttonState鼠标按钮状态触发此事件时鼠标按钮的状态。来源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


TrayIconEventBase<类型参数>

type TrayIconEventBase<T>: object;

类型参数

类型参数
T extends TrayIconEventType

类型声明

名称类型描述定义在
id字符串触发此事件的托盘图标的ID。来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L23
positionPhysicalPosition触发此事件的点击的物理位置。来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L25
rectobject托盘图标的定位和大小。来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L27
rect.positionPhysicalPosition-来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L28
rect.sizePhysicalSize-来源https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/tray.ts#L29
typeT托盘图标事件类型来源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