qml menuBar详解
1、概述
QML 中的 MenuBar 是一个用于创建菜单栏的控件,通常由下拉菜单组成,位于窗口的顶部边缘。MenuBar 继承自 Container,允许开发人员在其上添加多个菜单(Menu),每个菜单中可以包含多个动作(Action)或子菜单。
2、重要属性
- menus:列表类型,保存菜单列表。这个列表包含了在 QML 中声明为 MenuBar 子元素的所有菜单,以及通过 addMenu() 和 insertMenu() 方法动态添加或插入的菜单。
- contentHeight:实际内容高度,用于计算 MenuBar 的总隐式高度。
- contentWidth:实际内容宽度,用于计算 MenuBar 的总隐式宽度。
- delegate:组件类型,此属性保存用于创建菜单栏项目以在菜单栏中呈现菜单的组件。
3、重要方法
- void addMenu(Menu menu):将菜单添加到菜单列表的末尾。
- void insertMenu(int index, Menu menu):在索引处插入菜单。返回索引处的菜单,如果不存在则返回 null。
- Menu menuAt(int index):返回索引处的菜单。
- void removeMenu(Menu menu):删除并销毁指定的菜单。
- Menu takeMenu(int index):移除并返回索引处的菜单,项目的所有权转移给调用者。
ApplicationWindow {
visible: true
width: 640
height: 480
title: "Action 示例"
menuBar: MenuBar {
Menu {
title: qsTr("&File")
MenuItem {
text: qsTr("&New...")
// 可以连接信号到槽函数,例如:onTriggered: someFunction()
}
MenuItem {
text: qsTr("&Open...")
onTriggered: {
// 打开文件对话框的代码
}
}
MenuItem {
text: qsTr("&Save")
}
MenuItem {
text: qsTr("Save &As...")
}
MenuSeparator {}
MenuItem {
text: qsTr("&Quit")
onTriggered: Qt.quit()
}
}
Menu {
title: qsTr("&Edit")
MenuItem {
text: qsTr("Cu&t")
}
MenuItem {
text: qsTr("&Copy")
}
MenuItem {
text: qsTr("&Paste")
}
}
Menu {
title: qsTr("&Help")
MenuItem {
text: qsTr("&About")
onTriggered: {
// 打开关于对话框的代码
}
}
}
}
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!