本文主要是介绍qml如何使用Repeater动态创建两个层级的Menu菜单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当你有这样一个需求,弹出两级菜单,一级菜单菜单项可能是Menu也可能是MenuItem,菜单项数量名称都是动态的,那么你就需要了解本篇文章介绍的方法,尤其注意一点对于Repeater这种方式创建的Menu组件,必须调用addMenu添加到父菜单,这可能是一个bug,如果不用addMenu添加,它显示不出来。下面是代码:
Menu {id: projectsMenuimplicitWidth: widthEditRepeater{model: Global.g_projectsListdelegate: Loader {property var itemModel: modelDatasourceComponent: itemModel.children ? menuDelegate : menuItemDelegateonLoaded: {// console.log(itemModel.children)}}}}Component {id: menuDelegateMenu {property var mData: itemModeltitle: mData.nameRepeater {model: mData.childrendelegate: MenuItem {text: modelData.projectName
这篇关于qml如何使用Repeater动态创建两个层级的Menu菜单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!