问题标签 [qpainterpath]
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.
c++ - QML:QPainterPath 的等价物是什么?
为了将用 C++ 编写的带有 Qt 库的 GUI 界面转换为 QML,我必须在 QML 中找到 QPainterPath 的替代方法。事实上,目前,在 GUI 界面中绘制了一堆形状,当某些事件发生时,C++ 代码会修改这些对象的颜色。QPainterPath 对象用于存储这些形状。
如果您能告诉我如何在 QML 画布中绘制两个矩形对象,然后如何在 C++ 代码中修改它们的填充颜色,我将不胜感激。
c++ - 如何从 C++ 中的已删除对象中清除内存?
我想用 C++ 开发自己的信号范围。所以我使用 qt 来达到这个目的。我在 ui 中添加了一个 graphicsView 和一个按钮。在按钮的连接方法中,我更新了 graphicsView(最后我将把这个方法传递给一个线程)。每次我按下按钮时,尽管删除指针,但内存使用量却在增加。我应该如何控制这个?
我在 vs15 诊断工具中检查内存使用情况。
c++头文件:
c++源文件:
python - 创建后如何移动 Qt QPainterPath 中的点?
我通过向构造函数传递一个包含大约 10 个 QPoint 的 QPainterPath 创建了一个 QGraphicsPathItem。现在我怎样才能移动路径中的点?
例如:
这将创建一个盒子:
现在经过一段时间后,我想通过抓住右上方和右下方的点并将它们向右移动来使这个框更宽。我怎样才能获得积分?QPainterPath 的 Qt 文档表明这path.elementAt(i)
是在路径中访问数据的方式,但它返回一个 QElementObject 并且我找不到太多关于“元素对象”的文档,而且它绝对不是 QPointF(这是我所期望的)得到......对吗?)。那么我怎样才能从这个元素中得到一个 QPointF 呢?一旦我得到了分数,是否可以只调用它们QPointF.setX()
并且QPointF.setY()
该线将重新绘制,或者我是否需要通过新的调用将其重新设置为 QGraphicsPathItem line.setPath()
?
请注意,这是 PyQt4,python 2.7。但是,如果您有 C++ 答案,我会接受它,尽管我根本不懂 C++,但它似乎很容易翻译。
python - PyQt 如何将 QPainterPath 转换为 QPixmap?
我一直在网上搜索,找不到这样做的好方法。我需要将 QPainterPath 转换为 QPixmap。这可能吗?如果是,这将如何完成?谢谢!
python - QPainterPath 沿多条路径绘制和放置项目
我从以前的代码行中开发并添加了一些特殊行为。这个想法是在矩形和圆形内部的某个路径上绘制小圆圈,并根据预先给定的距离放置它们。我想根据用户给定的距离以编程方式自动绘制。IE。距离和数量会有所不同。
我看过这个练习,并通过非常复杂的 for 循环和长代码行来解决这个问题。我害怕在这里重复同样的程序。
我想要达到的目标:
在矩形的情况下,圆的大小由下式给出:
从顶部到圆心测量的每个圆的垂直距离由下式给出:
认为下一个输入会增加或减少钢筋的数量,从而推断出更少或更多的距离值。我将能够有序而有规律地绘制和绘制它们。
输入圆形。
如果是圆形,有没有办法绘制并遵循圆形路径并放置带有弧角的圆形?我的意思是,我认为最简单的方法是测量第一个钢筋数量并确定距离,然后用弧角和长度将它们按顺序放置和组织,无论圆形项目的数量是多少!
我很欣赏任何简单而聪明的方法来解决这个问题并避免长时间编码。
长方形的解释:
据您所知,就是这样,列表self.db = [di, di, di, di+25, di+25, di+25]
将传递给来自另一个类的函数,该函数已经计算了一层中有多少个圆圈,即。例如,self.db = [200, 200, 180, 180]
意味着一层只有 2 个圆,其他层只有 2 个。所以beff
第一层只包含2个圆圈。在这种情况下,需要找出如何将它们有序和定期放置。
我更正了这行代码self.db, self.dt = [di, di, di, di-25, di-25, di-25], [dis, dis, dis, dis+25, dis+25]
图层
编码:
更新代码:
底部圆圈的 y 坐标和列表中给出的相应 x 坐标:
列表中给出的顶部圆的 y 坐标和相应的 x 坐标: