我正在为我的QtQuick GUI(as in here I believe)添加一个弹出菜单,它的行为与我的预期不符。
以下是我的工作:
import QtQuick 2.7
import QtQuick.Layouts 1.3
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
import QtQuick.Controls.Styles 1.2
ApplicationWindow
{
...
// File menu button.
Rectangle
{
id: ribbonFileMenuButton
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: height
height: parent.height
scale: ribbonFileMenuButtonMA.pressed ? 1.3 : 1
color: "transparent"
// Icon.
RibbonFileButtonIcon
{
id: ribbonFileMenuButtonIcon
anchors.fill: parent
}
// Behavior.
MouseArea
{
id: ribbonFileMenuButtonMA
anchors.fill: parent
onClicked: menu.open() /*popup()*/
}
}
...
// File.
Menu
{
id: menu
y: 20
MenuItem
{
text: "New..."
}
MenuItem
{
text: "Open..."
}
// MenuSeparator { }
MenuItem
{
text: "Save"
}
}
...
}
首先,我必须调用 menu.open()而不是 menu.popup()(如上面提供的链接中所述的文档中所述):< strong> menu.popup()输出错误:
TypeError:Property&#39; popup&#39;对象QQuickMenu(0x20f40f0)不是函数
如果我取消注释 MenuSeparator {} ,我会收到以下错误:
MenuSeparator不是类型
同样,根据所提供链接中的文档,它应该有效。
我看过互联网,但我有点失落......
谢谢,
安托。