У меня есть 3 точки (QPointF) и QgsRubberBand (PolygonGeometry), в который я добавил эти 3 точки. Результат как на картинке
Треугольник имеет очень тонкие белые линии. Я хочу заполнить треугольник цветом. Я ожидал, что метод setFillColor () сделает это, но это не так. Что я могу сделать, чтобы залить многоугольник заданным цветом?
Резиновая полоса была объявлена в конструкторе класса как:
cameraFOV = новый QgsRubberBand (mapCanvas,
QgsWkbTypes :: PolygonGeometry);
Вот код, который я использовал для отображения треугольника:
void MapObject::setFovAngle(double angle){
cameraFOV->reset();
QPointF FOVLeftCorner = QPointF(mapOwnPosition.x() + 5000 * qSin(targetingDirection-angle/2), mapOwnPosition.y() + 5000 * qCos(targetingDirection-angle/2));
QPointF FOVRightCorner = QPointF(mapOwnPosition.x() + 5000 * qSin(targetingDirection+angle/2), mapOwnPosition.y() + 5000 * qCos(targetingDirection+angle/2));
cameraFOV->addPoint(mapOwnPosition);
cameraFOV->addPoint(FOVLeftCorner);
cameraFOV->addPoint(FOVRightCorner);
cameraFOV->closePoints();
cameraFOV->setColor(QColor(255,255,255, 128));
cameraFOV->setFillColor(QColor(0,0,0, 128));
cameraFOV->show();
}
Что я могу сделать, чтобы залить треугольник цветом?