缩放和移动QPainterPath

时间:2014-09-22 08:33:47

标签: c++ qt

有没有办法扩展QPainterPath

在示例中,我的问题是我的QPainterPath大小为400,400,其中包含许多行,我想将其缩放到800,800或任何其他大小,并将整个内容移动到将偏移量添加到其他坐标。

编辑:

问题的根源是我想在一个小部件上绘制一些东西,然后我希望通过将其缩放到适当的大小来在另一个小部件上显示绘图。这就是为什么我在考虑缩放QPainterPath

2 个答案:

答案 0 :(得分:5)

这可能为时已晚并且响应不完整,但是对于设置偏移量,您可以使用QPainterPath::translate(qreal dx, qreal dy)

您还可以像这样扩展QPainter

QPainter painter;
painter.setPen(QPen(Qt::black, 1));
painter.drawRect(0, 0, 100, 100);

QTransform transform;
transform.scale(0.5, 0.5);
painter.setTransform(transform); 

答案 1 :(得分:-1)

你不能直接这样做,但是你可以将QPainterPath封装在一个派生自QGraphicsItem的新类中,并从新类的绘制函数中调用画家路径的绘制。

然后你所要做的就是移动/缩放新项目。

相关问题