ウィンドウメニュー
ウィンドウメニューは、アプリケーションの一般的な機能へのアクセスを提供する重要な UI 要素です。 Tauri では、クロスプラットフォームのネイティブメニューを簡単に作成できます。
メニューは、Rust または JavaScript で作成できます。
Rust でメニューを作成するには、tauri::menu モジュールを使用します。
use tauri::menu::{Menu, MenuItem, Submenu};
tauri::Builder::default() .setup(|app| { let save_menu_item = MenuItem::with_id(app, "save", "Save", true, Some("cmd+s"))?; let file_menu = Submenu::with_items(app, "File", true, &[&save_menu_item])?; let menu = Menu::with_items(app, &[&file_menu])?;
app.set_menu(menu)?;
Ok(()) })JavaScript でメニューを作成するには、@tauri-apps/api/menu モジュールを使用します。
import { Menu, Submenu, MenuItem } from '@tauri-apps/api/menu';
const saveMenuItem = await MenuItem.new({ id: 'save', text: 'Save', accelerator: 'CmdOrCtrl+S',});
const fileMenu = await Submenu.new({ text: 'File', items: [saveMenuItem],});
const menu = await Menu.new({ items: [fileMenu],});
await menu.setAsAppMenu();メニュー項目がクリックされたときのイベントを処理するには、Rust の on_menu_event コールバックまたは JavaScript の action プロパティを使用します。
tauri::Builder::default() .on_menu_event(|app, event| { match event.id.as_ref() { "save" => { println!("Save menu item clicked"); // 保存ロジックを実行 } _ => {} } })const saveMenuItem = await MenuItem.new({ id: 'save', text: 'Save', action: () => { console.log('Save menu item clicked'); // 保存ロジックを実行 },});Tauri は、一般的なアクション(コピー、貼り付け、切り取りなど)のためのプリ定義メニュー項目を提供しています。これらを使用すると、OS 標準の動作を簡単に実装できます。
PredefinedMenuItem::copy(app, text)PredefinedMenuItem::cut(app, text)PredefinedMenuItem::paste(app, text)- …など
詳細は ドキュメント を参照してください。
© 2025 Tauri Contributors. CC-BY / MIT