gpt4 book ai didi

c++ - 在绘图中缩放已绘制的 QPolygonF

转载 作者:行者123 更新时间:2023-11-28 07:20:32 26 4
gpt4 key购买 nike

所以,我在我定义的区域中绘制了一个 QPolygonF。该区域继承自 QGraphicsView。

我想要做的是让用户在 QPolygonF 的控制点周围移动,并在创建多边形之后对其进行更改。我真的找不到关于如何做到这一点的引用资料。

由于我画线来闭合并表示多边形,并且在可绘制区域中可以有更多的东西,清除它并一遍又一遍地绘制它似乎是不对的。

有谁知道我该如何解决这个问题?

谢谢!

最佳答案

我有点困惑为什么你描述你的“区域”继承自 QGraphicsView,然后讨论 QPolygonF。如果您正在使用 QGraphicsView,这意味着您有一个 QGraphicsScene 并且将使用 QGraphicsPolygonItem。

但是,假设 QGraphicsView 在这里无关紧要,QPolygonF 只是一个继承自点 vector 的类; QVector.

您应该能够遍历这些点并将它们移动到任何您想要的位置。你可以这样得到一个点:-

QPolygonF poly; // assume it has been given a number of points
QPointF& point = poly[index]; // where index is the index into the QVector of points

然后就可以移动点了:-

point.SetX(xPos);
point.SetY(yPos);

随着点的移动重新绘制项目应该不是问题。

关于c++ - 在绘图中缩放已绘制的 QPolygonF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19547507/

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