tauri2应用添加系统托盘Tray

官网文档:https://v2.tauri.app/learn/system-tray/

有两种方式可以添加系统托盘,一种是在js中,一种是在rust中,官方都有使用案例,其中要注意:

要记得在配置文件中添加这个特性。

这里我记录一下在js中添加托盘后,图标不显示问题:

可能是因为我使用了defaultWindowIcon图标作为托盘图标?但是官方说是可以的:

后来我重启了项目就显示了,我这里是通过js添加的托盘,这里的图标路径是相对于src-tauri的:

我的案例代码:

javascript 复制代码
<template>
    <h1
        class="cardTitle"
        @click="openUrl('https://v2.tauri.app/learn/system-tray/')"
    >
        tray
    </h1>
    <p>
        The tray module provides utilities for working with the system tray.
        This package is also accessible
    </p>
    <div class="cardBox">
        <el-tooltip content="create tray" placement="bottom">
            <el-button>{{ t('waitDev') }}</el-button>
        </el-tooltip>
    </div>
    <div class="codeDemo">
        <h2>发送通知</h2>
        <p class="description">调用系统通知API发送消息通知</p>
        <CodeEdit
            lang="javascript"
            :code="Codes.notification.trim()"
            :disabled="true"
        />
    </div>
</template>

<script setup lang="ts">
import { openUrl } from '@/utils/common'
import { TrayIcon } from '@tauri-apps/api/tray'
import { Menu } from '@tauri-apps/api/menu'
import { useI18n } from 'vue-i18n'
import Codes from '@/utils/codes'
// import ppIcon from '@/assets/images/pakeplus.png'
import { onMounted } from 'vue'

const { t } = useI18n()

const textarea = defineModel('textarea', {
    type: String,
    default: '',
})

let tray: any = null

const createTray = async () => {
    const menu = await Menu.new({
        items: [
            {
                id: 'quit',
                text: 'Quit',
                action: () => {
                    console.log('quit pressed')
                },
            },
        ],
    })
    const options = {
        menu,
        menuOnLeftClick: true,
        icon: 'icons/icon.png',
    }
    tray = await TrayIcon.new(options)
}

onMounted(async () => {
    createTray()
})
</script>

<style scoped lang="scss"></style>
相关推荐
叫我少年6 天前
Tauri 2.0 入门:从环境搭建到项目创建
tauri
何忆清风6 天前
Easy Agent Pilot - Rust实现的开源桌面Agent软件
ai·rust·vue·agent·tauri·开发工具
余识-14 天前
古竹:将时间化作最有价值的投资
金融·rust·业界资讯·tauri·投资·基金
小杍随笔15 天前
【Tauri 2 + Rust 配置 WebView2 缓存数据存储到安装目录】
开发语言·后端·rust·tauri
芳草萋萋鹦鹉洲哦15 天前
【tauri】为什么接口通信选择invoke而不是Axios
rust·axios·tauri·invoke
小妖66617 天前
用 tauri + vuepress 写的 地藏经 网站和安卓端
tauri·vuepress
小妖66619 天前
怎么用 tauri 创建编译 android 应用程序
android·tauri
Mr数据杨21 天前
AIGC工具平台-ASR通用音频转文本
tauri·ai工具
Mr数据杨21 天前
AIGC工具平台-文稿配音混剪素材视频
tauri·ai工具
Mr数据杨23 天前
AIGC工具平台-NovelAI小说自动撰写
tauri·ai工具