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>
相关推荐
特立独行的猫a3 天前
Tauri 应用移植到 OpenHarmony/鸿蒙PC完整指南
华为·rust·harmonyos·tauri·移植·鸿蒙pc
特立独行的猫a5 天前
MQTT Client的Tauri应用移植到 OpenHarmony 鸿蒙 PC/ARM64 实践记录
mqtt·华为·rust·harmonyos·tauri·移植·鸿蒙pc
绍磊leo6 天前
Tauri 2.x 教程系列 (二):React 组件化与 Tauri 命令系统
rust·tauri
绍磊leo6 天前
Tauri 2.x 教程系列 (一):Hello Tauri — 从零搭建第一个桌面应用
rust·tauri
特立独行的猫a7 天前
Tauri Demo 移植到鸿蒙PC上的交叉编译全流程实战总结
华为·rust·harmonyos·tauri·鸿蒙pc
星空椰7 天前
Tauri 开发模式下 SQLite 数据库文件变更导致应用自动重启问题
数据库·sqlite·tauri
brycegao3218 天前
Tauri2+Vue3+Ollama 实战|依托 AI 协同开发全离线隐私记账桌面软件(开源)
人工智能·开源·vue·ai编程·tauri·ollama·桌面开发
叫我少年1 个月前
Tauri 2.0 入门:从环境搭建到项目创建
tauri
何忆清风1 个月前
Easy Agent Pilot - Rust实现的开源桌面Agent软件
ai·rust·vue·agent·tauri·开发工具
余识-1 个月前
古竹:将时间化作最有价值的投资
金融·rust·业界资讯·tauri·投资·基金