要使用 QPainter 绘制菱形,您可以通过以下步骤绘制一个简单的菱形:
#include <QPainter>
#include <QPen>
#include <QBrush>
#include <QWidget>
class MyWidget : public QWidget {
public:
void paintEvent(QPaintEvent *event) override {
QPainter painter(this);
// 设置画笔和刷子颜色
painter.setPen(QPen(Qt::blue, 2));
painter.setBrush(QBrush(Qt::blue));
// 定义四个点坐标
QPoint points[4] = {
QPoint(width() / 2, 50),
QPoint(width() - 50, height() / 2),
QPoint(width() / 2, height() - 50),
QPoint(50, height() / 2)
};
// 绘制菱形
painter.drawPolygon(points, 4);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MyWidget widget;
widget.resize(400, 400);
widget.show();
return app.exec();
}
在这个示例中,我们仍然创建了一个自定义的 QWidget 子类 MyWidget,并重写了它的 paintEvent() 方法来执行绘图操作。在 paintEvent() 方法中,我们首先设置画笔和刷子的颜色为蓝色,然后定义了包含四个顶点坐标的数组 points,并调用 drawPolygon() 方法来绘制菱形。
请注意,菱形是一种特殊的四边形,需要指定四个非共线点的坐标以确定其位置和大小。在这个示例中,我们选择了屏幕中心附近的四个点作为菱形的顶点。您可以根据实际需求修改坐标值来调整菱形的位置和大小。
内容由零声教学AI助手提供,问题来源于学员提问