Код: Выделить всё
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]
Мобильная версия