问题标签 [qpolygon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
575 浏览

c++ - Qt 旋转图像 -> 多边形

我有一个QImage中心在(x,y)和大小(w,h)。我应用旋转并最终使用QTransform. 现在对我来说很容易将新图像(旋转/缩放)以 (x,y) 为中心。

我想QPolygon在旋转/缩放图像的角落有 4 个点。我所有的尝试都失败了。

或者

我得到的只是一个位置错误的多边形。哪个必须是正确的代码?

0 投票
2 回答
344 浏览

c++ - QPolygon 的 Qt 结构体

我有这个结构:

我尝试forms如下初始化,但出现分段错误错误:

我也尝试这样:

如何将多边形放入结构中?

0 投票
1 回答
2033 浏览

python - 查找 QPolygon 是否包含 QPoint - 未给出预期结果

我正在使用 PyQt 开发一个程序并创建一个小部件,该小部件显示一个网格和该网格上的一组多边形,您可以四处移动并单击它们。当我尝试实现多边形的单击时,它似乎不起作用。以下是不起作用的功能:

对于上下文,self.polys是一个列表,QPolygons并且e.pos()是鼠标位置。我试过输入

测试它是否适用于控制点,但在控制台中,它只给了我这个:

我在这里做错了什么,或者我怎样才能将上面的“多边形”转换为QPolygon我可以使用的实际?

编辑:

这是用于生成列表的代码self.polys

QPolygons使用内联 for 循环将其添加到列表中可能会出现问题吗?

0 投票
1 回答
522 浏览

c++ - Qt中重叠多边形的透明度

有没有一种简单的方法可以使两个多边形之间的重叠区域透明?最好是 Qt 小部件/Qt 2D 图形C++框架内的内置函数。(不是 QML)

我正在渲染从 Openstreetmap.org 提取的地图数据,并且方式(线段)之间的一些高级关系作为形成多边形的内部和外部方式给出。

例如,一个湖可以有形成多边形的外部通道,以及形成湖内岛屿的多个内部通道。

我能够分别正确构建外部多边形和内部多边形,但我很难找到一种简单的方法来使与内部多边形重叠的区域透明。

在下图中,白色区域是用白色绘制的单独多边形,但它们应该是湖/蓝色多边形的透明区域。

白色应该是蓝色的透明区域

我尝试将 QPainterPath 用于外部多边形并调用

但结果是一个空白屏幕。

我必须在渲染之前自己创建新的多边形吗?

QPainterPath 解决方案是否应该工作而我搞砸了?

是否有一些魔法可以使用 QPen/QBrush 来绘制透明的重叠区域?

非常感谢有关如何解决此问题的任何提示。

0 投票
0 回答
87 浏览

c++ - 如果 QPolygon 很简单,我怎么能得到?

我正在编写一个可以绘制多边形的工具。我希望它们是简单的多边形并禁止绘制复杂的多边形。

我试过 ToSubpathPolygons()

我有形成多边形的 QPoints 列表。

我正在用 c++ + Qt 编码。我想我可以尝试使用分段交叉点,如果有交叉点,那就不简单了。

我认为 qpainterpath tosubpathPolygons 如果它是一个复杂的多边形,应该给我不止一个。问题应该是这样的:

0 投票
0 回答
165 浏览

python - PyQt4 QPolygonF 到 QImage

目前有一个程序,用户可以使用鼠标点击绘制自己的形状。然后它获取一个 QPointF 列表(通过用户鼠标点击获得)并创建一个 QPolygonF。这一步很好,当转换为 PolygonItem 并添加到图形视图时,可以看到多边形的可见轮廓。但是我需要将其转换为 QImage 并将其像素设置为绿色(稍后解决质心时颜色很重要),但我不确定该怎么做。目前我有...

据我了解,您可以将一种类型的项目转换为另一种类型(没有给出错误),但是将多边形项目转换为像素图项目时它会变为空白。将不胜感激任何帮助。

0 投票
1 回答
711 浏览

c++ - 绘制圆弧并覆盖 boundingRect(), shape()

我有一个class Edge : public QGraphicsItem,它实现了从一个节点到另一个节点的绘制箭头(下面的屏幕)。
现在我需要添加在自己身上绘制箭头(弧线)的功能。
我无法绘制弧线,覆盖boundingRect()shape()
下面的代码是我画箭头或弧线的地方。完整项目在这里 -> github

屏幕

0 投票
1 回答
195 浏览

c++ - 绘制简单多边形时出现 Qt C++ 错误

我有一个旧的 c++ 程序,我需要恢复它的生命。我现在的任务是绘制一个多边形。我一开始就被困住了,因为我没有图形方面的经验。我想用来绘制 Polygen 的点存储在

QVector < QPointF> 点看起来像这样:

在此处输入图像描述

现在我想画我的多边形。我使用这段代码:

编译时出现以下错误:

初始化时无法将 QGraphicsPolygonItem* 转换为 QGraphiscItem

任何人都可以帮我解决这个问题,谢谢。

0 投票
1 回答
128 浏览

c++ - 将 QPolygon 变成 QPushbutton

我想在我的窗口上绘制一个 QPolygon 并能够将其用作 QPushbutton。有没有办法做到这一点?(最好不使用 QMousePressEvent 来检查鼠标的位置与多边形的位置)

根据 Ton 的建议:

主窗口.cpp:

qpolygonpusbutton.cpp:

0 投票
0 回答
87 浏览

c++ - 使用四叉树的不良空间分区

我正在研究移动机器人的路径规划算法。

我正在尝试实现四叉树算法来对空间信息进行建模。

每个节点都包含一个布尔变量,如果四边形与路径相交,则该变量为真。

对于如图所示的路径

如图所示,我得到了一个糟糕的空间分区

如果我移动路径的顶点,我将得到一个四叉树,其中包含来自旧四叉树的一些四叉树,如此处所示,移动顶点后的四叉树

你能帮忙找出这个问题的根源吗?

解决方案 该问题是由返回 false true 的 plan->intersects 函数引起的。为了解决这个问题,我实现了一个检查多边形和单元格之间是否存在交集的函数。这是我得到的结果。

二维空间的四叉树划分

这就是我构建四叉树的方式

我与你分享四叉树类。