static inline QPointF getUpperLeftPosition(const QList<ModelNode> &modelNodeList) { QPointF postion(std::numeric_limits<qreal>::max(), std::numeric_limits<qreal>::max()); foreach (const ModelNode &modelNode, modelNodeList) { if (QmlItemNode::isValidQmlItemNode(modelNode)) { QmlItemNode qmlIitemNode = QmlItemNode(modelNode); if (qmlIitemNode.instancePosition().x() < postion.x()) postion.setX(qmlIitemNode.instancePosition().x()); if (qmlIitemNode.instancePosition().y() < postion.y()) postion.setY(qmlIitemNode.instancePosition().y()); } } return postion; }