Чтобы понять проблему, вы должны добавить следующее:
Component.onCompleted: console.log(top)
И вы получите следующее:
qml: QVariant(QQuickAnchorLine, )
Таким образом, кажется, что "top" является недокументированным свойством в Item
(Это свойство предназначено для использования якорей, для получения дополнительной информации читайте Позиционирование с помощью якорей ), что приводит к конфликту имен переменных. Решением является использование другого идентификатора, например "root".
import QtQuick 2.14
import QtQuick.Window 2.14
Window {
id: <b>root</b>
width:800; height: 800
property double bw: 15
ListView {
anchors.fill:parent
model: 3
delegate: Rectangle {
width: 100; height: 100
border.width: <b>root</b>.bw
}
}
}