Cреда запуска - обыкновенный PC с Win7. Наткнулся на какое-то непонимание того как работает Item::childAt(). А работает он одинаково в 5.2.1 и в 5.3.2, что наводит на мысль, что это сделано сознательно и я что-то недопонимаю. На сцене есть прямоугольник 16x10. Начинаем искать его с помощью childAt() продвигаясь по координате X, и продолжаем поиск после первой найденной точки до тех пор, пока ряд точек не закончится. Сколько вы думаете childAt() насчитает точек? 16? Нет, 17. И вопрос -
почему так и что делать.
Код:
Javascript
import QtQuick 2.0
import QtQuick.Window 2.0
Window {
visible: true
color: "steelblue"
Item {
id: rect
anchors.fill: parent
Rectangle {
color: "red"
x: 0
y: 0
width: 16
height: 10
}
}
Component.onCompleted: {
var found = 0;
for(var i = 0;i < 18;i++)
{
var block = rect.childAt(i, 0);
console.log("" + i + ": " + block);
if(block !== null)
found++;
}
console.log("Found " + found);
}
}