使用qpainter绘制一只轮船
时间: 2024-01-31 09:03:11 浏览: 26
好的,下面是使用Qt中的QPainter绘制一只轮船的示例代码:
```cpp
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true); // 设置抗锯齿
painter.setPen(QPen(QColor(0, 0, 255), 2)); // 设置画笔颜色和宽度
// 绘制船体
QPainterPath path;
path.moveTo(50, 200);
path.lineTo(300, 200);
path.lineTo(275, 175);
path.lineTo(75, 175);
path.closeSubpath();
painter.drawPath(path);
// 绘制船头
path.moveTo(300, 200);
path.lineTo(290, 215);
path.lineTo(275, 200);
painter.drawPath(path);
// 绘制旗帜
painter.setBrush(QBrush(QColor(255, 0, 0)));
painter.drawRect(50, 150, 50, 50);
painter.drawLine(50, 150, 75, 125);
painter.drawLine(100, 150, 75, 125);
// 绘制船舵
painter.setBrush(QBrush(QColor(180, 180, 180)));
painter.drawEllipse(200, 180, 50, 50);
painter.drawLine(225, 205, 215, 215);
painter.drawLine(225, 205, 235, 215);
}
```
这段代码会在窗口上绘制一只蓝色的轮船,船头是红色的旗帜,船尾是灰色的船舵。你可以参考这个示例,根据自己的需求进行绘制。