【问题标题】:Mac Node-webkit menuMac Node-webkit 菜单
【发布时间】:2015-02-20 18:23:27
【问题描述】:

我正在尝试为 mac node-webkit 应用程序创建菜单。我正在尝试将首选项菜单项附加到第一个/根菜单(应用程序名称 > 关于、首选项等)。我无法弄清楚如何访问 .createMacBuiltin(); 的菜单。函数创建。我只能创建一个新的自定义菜单。有没有人想出如何做到这一点。有关示例,请参阅 Slack 的 mac 应用程序。到目前为止,这是我的代码。

var gui = require('nw.gui');

// Create menu container
var Menu = new gui.Menu({
    type:   'menubar'
});

Menu.createMacBuiltin("Example App");

Menu.append(
    new gui.MenuItem({
        label: 'Preferences',
        click : function () {
          $('#preferences').modal('toggle');
        }
    })
);

gui.Window.get().menu = Menu;

感谢您的帮助。

【问题讨论】:

  • 您是如何设法创建一个新的自定义菜单的?我似乎无法创建一个自定义的:S 你有任何代码示例吗?
  • 我在下面发布了我的解决方案

标签: javascript node.js menu node-webkit


【解决方案1】:

我用下面的代码解决了这个问题。只需四处寻找并找到要附加或插入的正确菜单即可。我使用菜单打开了一个包含用户偏好的模式。

var gui = require('nw.gui');

// Create menu container
var Menu = new gui.Menu({
    type:   'menubar'
});

//initialize default mac menu
Menu.createMacBuiltin("MyApp");

// Get the root menu from the default mac menu
var rootMenu = Menu.items[0].submenu;

// Append new item to root menu
rootMenu.insert(
    new gui.MenuItem({
        label: 'Preferences',
        click : function () {
          $('#preferences').modal('toggle');
        }
    })
);

// Append Menu to Window
gui.Window.get().menu = Menu;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 2016-07-26
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多