这取决于QtQuick.Controls
版本。
您2.0
可以定义大小和位置(甚至更多 - 您必须这样做)
import QtQuick 2.7
import QtQuick.Controls 2.0
//import QtQuick.Controls 1.4
import QtQuick.Window 2.0
Window
{
id: window
width: 500
height: 500
visible: true
MouseArea {
anchors.fill: parent
onClicked: {
menu.x = (window.width - menu.width) / 2
menu.y = (window.height - menu.height) / 2
//menu.__popup(Qt.rect(200,200,100,100),0,0);
menu.open();
}
}
Menu {
id: menu
MenuItem { text: "item1" }
MenuItem { text: "item2"; }
MenuItem { text: "item3"; height: 100 }
}
}
Run Code Online (Sandbox Code Playgroud)
在1.4
(参见注释行)中,您可以尝试Menu.__popup()
,但此函数是私有的,并且行为是不可预测的。