Qt изменить PathItem

Есть ли способ изменить путь QGraphicsPathItem в Qt?

Я создал Предмет таким образом:

    QGraphicsPathItem* item = new QGraphicsPathItem();
QPainterPath* path = new QPainterPath();
path->cubicTo(3,5, 3,10, 0,15);
item->setPath(*path);
item->moveBy(-20,-20);
scene->addItem(item);

Теперь я хочу изменить элементы пути:

    item->path().elementAt(0).y = -5;
item->path().elementAt(0).x =  0;

но я получаю следующую ошибку:

assignment of member 'QPainterPath::Element::y' in read-only object

1

Решение

Так как path () возвращает QPainterPath, вам нужно изменить путь с помощью:

void QPainterPath::setElementPositionAt(int index, qreal x, qreal y)

и затем заново установите путь к QGraphicsPathItem.

Вот образец:

QPainterPath p = item->path();
p.setElementPositionAt(0, 0, -5);
item->setPath(p);

Было бы целесообразно также использовать:

path-> ElementCount ()

чтобы убедиться, что индекс, который вы хотите изменить, находится в допустимых пределах.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]