我正在尝试从 ListModel
动态填充 Menu
,但这种方法不起作用(当我右键单击菜单时不会显示任何内容) :
这是我的菜单项:
import QtQuick.Controls 1.3
ListModel{
id:menuItems
ListElement{
text:"hello1"
}
ListElement{
text:"hello2"
}
ListElement{
text:"hello3"
}
}
这是我的菜单
Menu{
id:contextMenu
Repeater{
model: menuItems
MenuItem{}
}
我什至尝试放置一个Instantiator
,但菜单不会显示任何内容
最佳答案
在查看文档后,我找到了实现该目标的方法:
Menu {
id: contextMenu
Instantiator {
model: menuItems
MenuItem {
text: model.text
}
// The trick is on those two lines
onObjectAdded: contextMenu.insertItem(index, object)
onObjectRemoved: contextMenu.removeItem(object)
}
}
关于qt - QML - 使用模型项填充菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45652525/