在 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}