如何着色我使用c ++在Qt创建者上绘制的心形表格

时间:2015-02-09 09:18:56

标签: forms qt fill qpainter

我有点问题。我正在使用qt创建者在c ++中进行视频游戏,我想填写一张我用红色绘制的表格。我为这条线着色但我无法找到如何填写所有表格。在qt的文档中,它解释了如何填充矩形,以及如何为线条着色,但我没有找到任何关于如何填充我创建的表单的内容。以下是绘制表单的代码:

painter.setPen(Qt::red);
QLine line = QLine(leftPoint, bottomCenterPoint);
painter.drawLine(line);

line = QLine(bottomCenterPoint, rightPoint);
painter.drawLine(line);

line = QLine(rightPoint, topRightPoint);
painter.drawLine(line);

line = QLine(topRightPoint, centerPoint);
painter.drawLine(line);

line = QLine(centerPoint, topLeftPoint);
painter.drawLine(line);

line = QLine(topLeftPoint, leftPoint);
painter.drawLine(line);`

那么,我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以这样做:

painter.fillRect(topLeftPoint.x(), topLeftPoint.y(), width, height, Qt::red);

您需要找出表单的宽度和高度。

由于您的表单形状不像矩形(您应该在问题中提及这是一个非常重要的细节),您可以使用QPainterPath来定义您的点,然后使用{{填充此路径3}}。使用QPainter::fillPath定义您的形状,然后使用QPolygonF方法将此多边形添加到QPainterPath