Замена линии в примере qt Arrow Class полилиниейC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Замена линии в примере qt Arrow Class полилинией

Сообщение Anonymous »

Я реализовал класс Arrow в приведенном здесь примере, и он работает хорошо. Теперь я пытаюсь заменить линию ломаной линией, где линия перемещается только в направлениях x и y.
Это мой код, он хорошо работает при вставке строки, но не работает, когда я пытаюсь переместить элементы, соединенные линией. Я считаю, что проблема может быть в методе updatePosition(), но я не уверен, как его изменить, чтобы работа с полиЛинией.
void Arrow::updatePosition()
{
QLineF newLine(myStartPin->scenePos(), myEndPin->scenePos());
setLine(newLine);
}

void Arrow::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
{
if (myStartPin->collidesWithItem(myEndPin))
return;

QPen myPen = pen();
myPen.setColor(myColor);
qreal arrowSize = 10;
painter->setPen(myPen);
painter->setBrush(Qt::NoBrush); // No fill for the lines

// Define points for the polyline
QVector polylinePoints;
QPointF startPoint = myStartPin->scenePos();
QPointF endPoint = myEndPin->scenePos();

// Calculate intermediate points for the polyline
QPointF midPoint1((startPoint.x() + endPoint.x()) / 2, startPoint.y());
QPointF midPoint2((startPoint.x() + endPoint.x()) / 2, endPoint.y());

polylinePoints

Подробнее здесь: https://stackoverflow.com/questions/787 ... -poly-line
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»