Как рисовать стрелки в Qt 5?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как рисовать стрелки в Qt 5?

Сообщение Anonymous »

Я пытаюсь создавать стрелки в Qt и C++, но не нашел простого способа создать стрелку и добавить ее в QGraphicsScene, аналогично тому, как я это сделал бы с линией.

Код: Выделить всё

line = new QGraphicsLineItem(this);
Мне нужно нарисовать линию между двумя точками, и эти точки могут перемещаться, поэтому стрелка должна обновляться соответствующим образом. Кроме того, я хотел бы настроить цвет, толщину и т. д. стрелки.
Как лучше всего создать стрелку в Qt?
Может ли кто-нибудь подскажет мне, как этого добиться?
Единственный пример, который я нашел, это следующий:

Код: Выделить всё

void DrawLineWithArrow(QPainter& painter, QPoint start, QPoint end) {

painter.setRenderHint(QPainter::Antialiasing, true);

qreal arrowSize = 40; // size of head
painter.setPen(Qt::black);
painter.setBrush(Qt::black);

QLineF line(end, start);

double angle = std::atan2(-line.dy(), line.dx());
QPointF arrowP1 = line.p1() + QPointF(sin(angle + M_PI / 3) * arrowSize,
cos(angle + M_PI / 3) * arrowSize);
QPointF arrowP2 = line.p1() + QPointF(sin(angle + M_PI - M_PI / 3) * arrowSize,
cos(angle + M_PI - M_PI / 3) * arrowSize);

QPolygonF arrowHead;
arrowHead.clear();
arrowHead 

Подробнее здесь: [url]https://stackoverflow.com/questions/79382716/how-to-draw-arrows-in-qt-5[/url]
Ответить

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

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

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

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

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