QPainterPath创建点
时间: 2023-05-21 15:02:52 浏览: 57
QPainterPath可以通过addEllipse、addRect、addRoundedRect、addPolygon等方法来创建点。例如,可以使用addEllipse方法来创建一个椭圆形的点,代码如下:
QPainterPath path;
path.addEllipse(QPointF(50, 50), 10, 20);
这个代码会在坐标(50, 50)处创建一个椭圆形的点,长轴为20,短轴为10。
相关问题
QPainterPath创建十字点
可以使用QPainterPath的moveTo和lineTo方法来创建十字点,具体代码如下:
QPainterPath path;
path.moveTo(x, y - size);
path.lineTo(x, y + size);
path.moveTo(x - size, y);
path.lineTo(x + size, y);
其中,x和y是十字点的中心坐标,size是十字线的长度。
知道点集利用QPainterPath批量创建十字点
可以使用以下代码实现:
QPainterPath path;
QPen pen(Qt::black, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
path.moveTo(points[0]);
for (int i = 1; i < points.size(); ++i) {
path.lineTo(points[i]);
path.moveTo(points[i]);
path.lineTo(points[i] + QPoint(10, 0));
path.moveTo(points[i]);
path.lineTo(points[i] + QPoint(-10, 0));
path.moveTo(points[i]);
path.lineTo(points[i] + QPoint(0, 10));
path.moveTo(points[i]);
path.lineTo(points[i] + QPoint(0, -10));
}
painter->setPen(pen);
painter->drawPath(path);
这段代码可以批量创建十字点,并使用QPainterPath绘制出来。