Как установить позицию всплывающего меню в QML
Я хочу исправить положение всплывающего меню в QML. Когда я нажимаю на кнопку настройки, я хочу, чтобы всплывающее меню отображалось в фиксированном положении. Я сделал это за день, но не могу. Как я могу сделать это в QML. Также я хочу изменить размер пункта меню (ширина и высота).
Надеюсь на вашу помощь!
1 ответ
Это зависит от 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()
но эта функция является частной, а поведение непредсказуемым.