当前位置: 首页 > article >正文

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: {
                    // 打开关于对话框的代码
                }
            }
        }
    }
}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 


http://www.kler.cn/a/516045.html

相关文章:

  • C语言操作符(上)
  • 不重启JVM,替换掉已经加载的类
  • IP协议格式
  • 【深度学习入门】深度学习知识点总结
  • 【玩转全栈】---基于YOLO8的图片、视频目标检测
  • 计算机网络——网络层
  • 力扣动态规划-8【算法学习day.102】
  • leetcode 面试经典 150 题:有效的括号
  • Ollama 使用笔记
  • Linux C\C++编程-建立文件和内存映射
  • 【韩顺平Java笔记】第8章:面向对象编程(中级部分)【343-353】
  • salesforce apex测试类如果有多个httpmock,则只会返回一个,导致可能不符合预期
  • `std::make_shared` 无法直接用于单例模式,因为它需要访问构造函数,而构造函数通常是私有的
  • Linux - 五种常见I/O模型
  • Spring MVC:综合练习 - 深刻理解前后端交互过程
  • PaSa - 大型语言模型提供支持的高级论文搜索代理
  • 使用KNN实现对鸢尾花数据集或者自定义数据集的的预测
  • 基于JAVA的微信点餐小程序设计与实现(LW+源码+讲解)
  • FCA-FineReport试卷
  • 数据挖掘常用算法模型简介
  • 有关Android Studio的安装与配置并实现helloworld(有jdk的安装与配置)(保姆级教程)
  • 云计算和服务器
  • 软件工程的本质特征
  • 无人机高速无刷动力电机核心设计技术
  • Python 之 Excel 表格常用操作
  • 考研机试:学分绩点