Skip to content

在 Window 中使用 MenuBar 元素来声明菜单栏的结构,包括实际的 菜单和子菜单。

Note

一个 Window 中只能有一个 MenuBar 元素,并且它不能位于 for 或 if 中。

MenuBar 本身没有属性,但它必须包含作为子元素的 Menu,这些 Menu 代表菜单栏中的顶级条目。

根据平台的不同,菜单栏可能是原生的,也可能是由 Slint 渲染的。 这意味着例如在 macOS 上,菜单栏将位于屏幕顶部。 Window 的 width 和 height 属性定义的是客户区,不包括菜单栏。 Window 子元素的 x 和 y 属性也是相对于客户区的。

示例 ​

slint
export component Example inherits Window {    MenuBar {        Menu {            title: @tr("File");            MenuItem {                title: @tr("New");                activated => { file-new(); }                shortcut: @keys(Control + N);            }            MenuItem {                title: @tr("Open");                activated => { file-open(); }                shortcut: @keys(Control + O);            }        }        Menu {            title: @tr("Edit");            MenuItem {                title: @tr("Copy");            }            MenuItem {                title: @tr("Paste");            }            MenuSeparator {}            Menu {                title: @tr("Find");                MenuItem {                    title: @tr("Find in document...");                }                MenuItem {                    title: @tr("Find Next");                }                MenuItem {                    title: @tr("Find Previous");                }            }        }    }
    callback file-new();    callback file-open();
    // ... actual window content goes here}

基于 MIT 协议发布