QPainter如何画多边形,并且边界线和围成的图形要不同的颜色
时间: 2024-03-31 19:34:02 浏览: 18
要使用QPainter绘制多边形,可以使用QPolygon类来定义多边形的顶点坐标。具体代码如下:
```cpp
QPolygon polygon;
polygon << QPoint(10, 10) << QPoint(10, 100) << QPoint(100, 100) << QPoint(100, 10);
QPainter painter(this);
QPen pen(Qt::red, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
QBrush brush(Qt::green, Qt::SolidPattern);
painter.setPen(pen);
painter.setBrush(brush);
painter.drawPolygon(polygon);
```
这里先定义了一个QPolygon对象,它包含了4个顶点坐标。然后创建了一个QPainter对象,设置了QPen和QBrush对象,最后调用drawPolygon函数进行绘制。
如果要让边界线和围成的图形使用不同的颜色,只需要在设置QPen和QBrush对象时分别使用不同的颜色即可。例如,以下代码让边界线为红色,填充区域为绿色:
```cpp
QPen pen(Qt::red, 2, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
QBrush brush(Qt::green, Qt::SolidPattern);
painter.setPen(pen);
painter.setBrush(brush);
```