【发布时间】:2015-08-12 08:34:36
【问题描述】:
我想动态构建一个 QML 上下文菜单。 当我调用“addMenu”时,会添加菜单条目,但我收到此警告:
QQmlComponent: 创建的图形对象没有放在图形场景中。
这里是重现问题的代码:
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
ApplicationWindow {
title: qsTr("Hello World")
width: 640
height: 480
Menu {
id:contextMenu
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.RightButton
onClicked: {
contextMenu.addMenu("NewMenu");
contextMenu.popup();
}
}
}
我在这里做错了什么?
【问题讨论】:
-
它适用于 5.5 没有警告,所以也许你只需要更新。
-
就像说@folibis 在 5.5 上没有警告,试试这个也许会更好
contextMenu.insertMenu(contextMenu.__currentIndex,"NewMenu") -
谢谢@folibis,我会更新的。