Как сказано в названии, у меня проблема с ListView
, с обычными delegate
и highlight
.
В моем выделении я поместил компонент Text
с id
, чтобы я мог ссылаться на него.
Таким образом, поведение должно быть таким: я перемещаюсь по элементам ListView
, и когда я нажимаю число на моей клавиатуре, текст внутри highlight
должен отображать его.
Но каждый раз, когда я пытаюсь что-либо сделать с вышеупомянутым Text
компонентом (укажите его id
, например textComponent.text = "123"
, я получу ReferenceError: textComponent is not defined
.
Я просмотрел документацию, но не нашел ничего, связанного с невозможностью получить доступ к содержимому выделения id
.
Кто-нибудь знает, что может быть причиной этого, или такое поведение просто не поддерживается?
Я не включил ни одного кода, так как проблема легко объясняется и воспроизводится, но если кому-то это понадобится, я с удовольствием включу короткий фрагмент этой вещи.
EDIT
Код
ListView
{
height: 500
width: 500
model: ListModel { id: channelListModel }
highlightMoveDuration: 200
highlightRangeMode: ListView.ApplyRange
snapMode: ListView.SnapToItem
preferredHighlightBegin: height * 0.2
preferredHighlightEnd: height * 0.8
delegate: Item
{
id: channelItem
width: ListView.view.width * 0.96
height: parent.height
Text
{
anchors.fill: parent
text: "generic row text"
}
}
Keys.onPressed:
{
switch(event.key)
{
case Qt.Key_0:
case Qt.Key_1:
case Qt.Key_2:
case Qt.Key_3:
case Qt.Key_4:
case Qt.Key_5:
case Qt.Key_6:
case Qt.Key_7:
case Qt.Key_8:
case Qt.Key_9:
textComponent.text = event.key
}
}
highlight: Rectangle
{
id: highlight
color: "#40ffffff"
Text
{
id: textComponent
anchors.fill: parent
}
}