C ++ QT Изменение точек многоугольника - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь позволить пользователю иметь возможность изменять точки фигуры. Однако, если я создаю один прямоугольник, я могу изменить каждую точку, а второй я добавляю еще один прямоугольник. Он изменяет только точки первой фигуры и перемещает первую фигуру над новым прямоугольником.

    for (int i = 0; i < ShapePointsOnly.count(); i++) {
        int pointShapeX = ShapePointsOnly.at(i).x();
        int pointShapeY = ShapePointsOnly.at(i).y();

        if (mouseX >= pointShapeX - 10 && mouseX <= pointShapeX + 10) {
            if (mouseY >= pointShapeY - 10 && mouseY <= pointShapeY + 10) {
                tempValue.setX(pointShapeX);
                tempValue.setY(pointShapeY);
                selectedPoint = ShapePointsOnly.indexOf(tempValue);
                userCanChangePoints = true;
                return true;
            }
        }
    }

    QBrush noBrush(Qt::NoBrush);
    QPen blackPen(Qt::black);
    blackPen.setWidth(0);

    Rectangle.append(QPointF(300, 300));
    Rectangle.append(QPointF(300, 400));
    Rectangle.append(QPointF(400, 400));
    Rectangle.append(QPointF(400, 300));

    RectangleConverted = Rectangle.toPolygon();
    scene -> addPolygon(RectangleConverted);
    numberOfShapesAdded = numberOfShapesAdded + 1;
    addShapesToList();
...