Я ищу несколько советов и указателей по отображению меню под элементом списка, когда пользователь нажимает на элемент.
Если у меня есть ListModel вроде этого:
ListModel {
ListElement {
name: "Bill Smith"
number: "555 3264"
}
ListElement {
name: "John Brown"
number: "555 8426"
}
ListElement {
name: "Sam Wise"
number: "555 0473"
}
}
Затем ListView вот так:
Rectangle {
width: 180; height: 200
Component {
id: contactDelegate
Item {
width: 180; height: 40
Column {
Text { text: '<b>Name:</b> ' + name }
Text { text: '<b>Number:</b> ' + number }
}
}
}
ListView {
anchors.fill: parent
model: ContactModel {}
delegate: contactDelegate
highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
focus: true
}
}
Затем, когда пользователь нажимает на элемент, я хочу отобразить меню:
Menu {
id: menu
MenuItem { text: "item1" }
MenuItem { text: "item2"; }
MenuItem { text: "item3"; }
}
Глядя на некоторые другие образцы QML, я нашел код, который добавляет MouseArea и позиционирует меню в зависимости от высоты и ширины Window - Menu:
MouseArea {
anchors.fill: parent
onClicked: {
menu.x = (window.width - menu.width) / 2
menu.y = (window.height - menu.height) / 2
menu.open();
}
}
Однако я изо всех сил пытаюсь заставить его работать, может ли кто-нибудь указать мне правильное направление?
MouseArea
? - person Jake Stoeffler   schedule 20.02.2018