- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获取 QPolygonF 的顶点。这是我到目前为止的代码
class Example(QtGui.QGraphicsScene):
def block(self):
self.bpoint1 = QtCore.QPointF(150 , 150)
self.bpoint2 = QtCore.QPointF(200 , 150)
self.bpoint3 = QtCore.QPointF(200 , 200)
self.bpoint4 = QtCore.QPointF(150 , 200)
self.bproto = QtGui.QPolygonF([self.bpoint1 , self.bpoint2 , self.bpoint3 , self.bpoint4])
self.block = QtGui.QGraphicsPolygonItem()
self.block.setPolygon(self.bproto)
self.block.setFlag(QtGui.QGraphicsItem.ItemIsMovable)
我的 block 现在变得可移动了,每次移动我的 block 时我都需要获取新的顶点。我该怎么做?我尝试了 self.block.boundingRect() ,但它给了我相同的 RectF 。有人可以帮我吗?
最佳答案
QPolygon
只是派生自 QVector
,因此只需使用普通的数组访问器即可。但它们将位于本地坐标中,因此需要将它们映射到场景坐标(我假设这就是您所说的“新顶点”) - 使用 block.mapToScene( block.polygon()[i] )
.
关于python - 获取 QPolygonF 的顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551962/
所以,我在我定义的区域中绘制了一个 QPolygonF。该区域继承自 QGraphicsView。 我想要做的是让用户在 QPolygonF 的控制点周围移动,并在创建多边形之后对其进行更改。我真的找
我在屏幕上绘制了 3 个 QPolygonF,我需要计算一个 QPolygon 的长度在另一个 QPolygon 中的长度。为了说明,黑色多边形内的红色或蓝色多边形的百分比长度:黑色多边形内的紫色线的
QPolygonF有与其他 QPolygonF 并集、相交和相减的方法,但我需要与 QLineF 执行相交测试。 API 中似乎缺少此功能。 我想我可以做这样的事情: if (polygon .con
我需要获取 QPolygonF 的顶点。这是我到目前为止的代码 class Example(QtGui.QGraphicsScene): def block(self): se
我有一个非常简单的代码,用于在图形顶点之间绘制箭头,灵感来自 Qt 图示例应用程序,但我遇到了渲染工件的问题。当我使用以下代码将三角形多边形绘制到场景上时 QPolygonF arrowHead; .
编辑:添加了更多信息。 我想围绕原点旋转 QPolygonF,如下所示: 我想要这个多边形(图像的中心是原点 - 0, 0): 顺时针旋转以使其在此处结束: QPolygonF 的点与上图中第一个 b
我正在尝试将 QPolygonF 对象中的值设置为特定值。例如: QPolygonF *polygonPoints; polygonPoints->resize(2); polygonPoints[1
我想通过朝向方向点的 itme 旋转来实现搜索行为。我在 QGraphicsView 中使用 QGraphicsScene 和 QPolygonF 项目进行的所有操作。 我不知道要从目标点角度中减去的
拥有 MyClass : QPolygonF 我想创建 void bin_write(QDataStream & out ) const { out (*this); 关于c++ - Qt序列化
我想在 PyQt4/PySide 应用程序中绘制带有许多控制点的折线。点坐标来自 NumPy 数组,必须放入 QPolygonF 才能使用 QPainter.drawPolyline(...) 绘制。
我在使用 QList 时遇到问题。 T 应该继承自 QPolygonF。 看起来像: class Polygon : public QPolygonF { public: Polygon(){
我是一名优秀的程序员,十分优秀!