我想在QML中修复弹出菜单的位置。当我点击设置按钮时,我希望弹出菜单显示在固定位置。我做了一天,但不能。我怎么能在QML中做到这一点。另外,我想更改菜单项的大小(宽度和高度)。
希望你的帮助!
答案 0 :(得分:2)
这取决于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 }
}
}
在1.4
(请参阅注释行)中,您可以尝试Menu.__popup()
,但此功能是私有的,行为无法预测。