gpt4 book ai didi

qt - 在 qgraphicsview 中自由手绘

转载 作者:行者123 更新时间:2023-12-03 03:45:43 25 4
gpt4 key购买 nike

我已经完成了如何绘制自由形式的涂鸦示例。我想要在 qgraphicsview 上使用 QGraphicsitem 进行相同的自由形式绘制。我应该将其绘制为图形项目,因为我可以将选定的自由形式移动到场景中的每个位置。我试过这个

DrawnPathItem = this->scene()->addPath(QPainterPath());

QGraphicsLineItem liner;
liner.setLine( QLineF(startPoint, endPoint) );
liner.setPen(QPen(Qt::red));

QPainterPath path = DrawnPathItem->path();
path.setFillRule(Qt::WindingFill);
path.addPath( liner.shape() );
path = path.simplified();

DrawnPathItem->setPath(path);

最佳答案

我做到了使用

void mousePressEvent(QGraphicsSceneMouseEvent *event)
{
myPath = new QGraphicsPathItem();
previous = event->scenePos();
QPainterPath p;
p.moveTo(previous);
myPath->setPath(p);
this->addItem(myPath);

}

void ::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if(myPath)
{
QPainterPath path = myPath->path();
previous = event->scenePos();
path.lineTo(previous);
myPath->setPath(path);
}

关于qt - 在 qgraphicsview 中自由手绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20137656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com