рисование сюжетных линий на QGraphicsScene

Я разработал QGraphicsScene как график с масштабом по обеим осям и с данными, которые я могу нанести на сцену, используя QGraphicsItem. но я не знаю, какой метод подойдет для соединения точек, чтобы это выглядело как построенный график. PainterPath или какие-то другие специфические вещи?


person Wagmare    schedule 18.06.2013    source источник


Ответы (1)


Я бы сказал QPainter::drawPolyline() является хорошим вариантом (или QPainterPath::addPolygon). Вы можете использовать QPolygonF для хранения точек. Затем вы просто передаете это функции drawPolyline QPainter.

QPolygonF polyline;   
polyline.append(QPointF(x, y)); // add your points
painter->drawPolyline(polyline);

or

QPainterPath painterPath;
painterPath.addPolygon(polyline);
person thuga    schedule 18.06.2013
comment
Я сделаю то же самое и отвечу вам. но как я могу выделить точки. я думаю, что с теми же точками QPointF(x,y) я могу разместить какой-то другой элемент поверх строки. например: ellipseItem в каждой точке ..? или какой-то другой способ тоже есть..? - person Wagmare; 18.06.2013
comment
@Wagmare Я думаю, вам придется добавить многоточие, чтобы выделить точки. Вы можете сделать это с помощью QPainter::drawEllipse или QPainterPath::addEllipse. - person thuga; 18.06.2013