5.自定义侧边导航菜单组件(基于menubar,menu,menuitem)

目录

效果预览

qml中实现可折叠的侧边导航栏方法 使用menubar 与menubaritem ,menu,menuitem是做不到的

为此将以上组件重写,实现侧边可折叠

使用代码

复制代码
import QtQuick 2.12
import BinUI 1.0
import QtQuick.Controls 2.12
import "../"

Item {


    // 动态创建

    Component.onCompleted: {


        // 动态创建菜单栏
        for(var i = 0;i<lm.length;i++){
            var menuInfo = com_menu.createObject(menuBar,{title:lm[i].label,visible:lm[i].opened});
            if(lm[i].children){
                for(var j=0;j<lm[i].children.length ;j++){
                    var menuInfo1 = com_menu.createObject(menuBar,{title:lm[i].children[j]});
                    menuInfo.addMenu(menuInfo1)
                }
            }
            menuBar.addMenu(menuInfo)
        }

    }

    property var  lm: [
        {label:qsTr("导航1"),children:["选项1"],opened:true}, //默认展开
        {label:qsTr("导航2"),children:[]},
        {label:qsTr("导航3"),children:["选项1"]},
        {label:qsTr("导航4"),children:[]},
    ]



    Column{
        x: 10
        y: 10
        spacing: 10

        Row{
            Label{
                text: qsTr("当前被选中的菜单项:")
            }
            Label{
                id: selectedMenu_Label
            }
        }

        BinMenuBar{
            id: menuBar

            onSelectedChanged: {
                selectedMenu_Label.text = instance.text
            }
        }


    }

    Component{
        id: com_menu
        Menu{
        }
    }


}
相关推荐
大橘1 天前
【qml-5】qml与c++交互(类型单例)
qt·qml
大橘2 天前
【qml-4】qml与c++交互(类型多例)
qt·qml
钱彬 (Qian Bin)11 天前
AI质检数据准备利器:基于Qt/QML 5.14的图像批量裁剪工具开发实战
qt·自定义·图像·qml·qt quick·裁剪工具
钱彬 (Qian Bin)22 天前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型
人工智能·qt·yolo·qml·qt quick·工业质检·螺丝瑕疵检测
Little-Hu23 天前
QML 3D曲面图(Surface3D)技术
3d·qml
Little-Hu25 天前
QML视图组件:ListView、GridView、TableView、PathView
数据库·microsoft·qml
钱彬 (Qian Bin)1 个月前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——6. 传统算法实战:用OpenCV测量螺丝尺寸
教程·cmake·qml·qt quick·工业软件·工业瑕疵检测·qt6.9.1
钱彬 (Qian Bin)1 个月前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——4. 前后端联动:打通QML与C++的任督二脉
c++·qt·教程·qml·qt quick·qt 6.9.1·工业瑕疵检测
钱彬 (Qian Bin)1 个月前
《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——0. 博客系列大纲
人工智能·qt·qml·瑕疵检测·qt quick·yolo8·工业质检
丁劲犇1 个月前
Qt Graphs 模块拟取代 charts 和 data visualization还有很长的路要走
c++·qt·qml·visualization·charts·graphs