Неверный групповой доступ к собственности
В этом коде qml:
Component {
id: userdelegate
PictureBox {
...
icon: model.icon
icon.heigth: 50
}
}
PictureBox
исходит от PictureBox.qml
системный файл следующим образом:
...
Image {
id: icon
...
width: parent.width; height: 150
}
Запустив qml, у меня ошибка в заголовке. Мне нужно использовать PictureBox.qml
, но я не могу это изменить. Как я могу переопределить значение высоты по умолчанию для PictureBox.qml
значок?
1 ответ
Вы можете попытаться обойти правила области видимости QML, обходя дочерние элементы Item до тех пор, пока не сможете найти изображение и манипулировать им напрямую. Возможно, это может сломаться в будущем, но item.toString()
дает вам что-то полезное:
item.toString() -> "QQuickImage(0x114054350)"
Итак, вы можете попробовать что-то вроде этого (не проверено):
function findItemOfType(type, item) {
if (item.toString().indexOf(type) != -1) {
return child;
}
for (var i=0;i < children.length;++i) {
var child = children[i];
var result = findItemOfType(type, child.children);
if (result != null) {
return result;
}
}
return null;
}
Используя это так:
findItemOfType("QQuickImage", pictureBoxId);