有没有办法在Qt中修改QGraphicsPathItem的路径?
我用这种方式创建了项目:
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
答案 0 :(得分:0)
由于path()返回QPainterPath,您需要使用以下命令修改路径:
void QPainterPath::setElementPositionAt(int index, qreal x, qreal y)
然后重新设置QGraphicsPathItem的路径。
以下是一个示例:
QPainterPath p = item->path();
p.setElementPositionAt(0, 0, -5);
item->setPath(p);
使用也是明智的:
路径 - > elementCount中()
确保您想要修改的索引在范围内。