问题标签 [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.

0 投票
1 回答
696 浏览

c++ - QML:QPainterPath 的等价物是什么?

为了将用 C++ 编写的带有 Qt 库的 GUI 界面转换为 QML,我必须在 QML 中找到 QPainterPath 的替代方法。事实上,目前,在 GUI 界面中绘制了一堆形状,当某些事件发生时,C++ 代码会修改这些对象的颜色。QPainterPath 对象用于存储这些形状。

如果您能告诉我如何在 QML 画布中绘制两个矩形对象,然后如何在 C++ 代码中修改它们的填充颜色,我将不胜感激。

0 投票
1 回答
1655 浏览

c++ - 如何使用 QT 绘制三角形和菱形

我需要像这张图片一样绘制三角形和菱形。在这个设计三角形的代码中(图 1),但我需要将此形状添加到文本“ TRI ”中。我还需要实现此代码来设计菱形形状(图 2)。请帮我解决这个问题。

图1

在此处输入图像描述

图 2我使用这个代码来设计图 2但是它不能传递参数来改变那里的大小,我的图 1 设计的代码我可以传递两个参数来QRectF(0, 0, para1, para2);改变三角形的大小。所以我需要改变这个代码来做同样的事情使用QPainterPath或任何其他方式。

0 投票
2 回答
131 浏览

c++ - 如何从 C++ 中的已删除对象中清除内存?

我想用 C++ 开发自己的信号范围。所以我使用 qt 来达到这个目的。我在 ui 中添加了一个 graphicsView 和一个按钮。在按钮的连接方法中,我更新了 graphicsView(最后我将把这个方法传递给一个线程)。每次我按下按钮时,尽管删除指针,但内存使用量却在增加。我应该如何控制这个?

我在 vs15 诊断工具中检查内存使用情况。

c++头文件:

c++源文件:

0 投票
1 回答
1381 浏览

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++,但它似乎很容易翻译。

0 投票
1 回答
418 浏览

c++ - QPainterPath 形状联合(单笔画)

我正在尝试创建两个形状的联合QPainterPath来绘制一个漫画气球:

这就是我得到的:

实际结果

而我想获得一个单一的形状,只有一个连续的轮廓,像这样:

期望的结果

我该如何解决这个问题?

0 投票
1 回答
838 浏览

pyqt5 - QPainterPath PyQt5 绘制困难人物

你好。如何使用 qpainter 路径在图片上绘制类似图形?有人有一些代码示例吗?

我需要这样

0 投票
1 回答
171 浏览

qt - QPainterPath 描边伪影

我正在将 aQPainterPath与文本放在一起,然后我正在绘制它,首先是QPainter::strokePath,然后是QPainter::fillPath。但是,笔划会出现伪影,如图所示。我做错了什么/如何防止这种情况?我应该将其报告为错误吗? 例子

0 投票
1 回答
517 浏览

python - PyQt 如何将 QPainterPath 转换为 QPixmap?

我一直在网上搜索,找不到这样做的好方法。我需要将 QPainterPath 转换为 QPixmap。这可能吗?如果是,这将如何完成?谢谢!

0 投票
1 回答
773 浏览

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 坐标:

0 投票
1 回答
1763 浏览

c++ - qt 使用 QPainterPath 绘制轮廓文本

我必须像这样在 QImage 上画出轮廓划掉的文本:

在此处输入图像描述

我这样做如下:

并得到这个结果:

在此处输入图像描述

正如人们所看到的那样,删除线具有斑马状填充。我怎样才能用画家的画笔完全填满它?

我尝试更改 QPainter 合成模式但没有成功。我也尝试使用 QPainterPathStroker 获得相同的结果。

当然,我可以用普通字体(未删除)加上矩形绘制删除文本,但这不是一个漂亮的解决方案。