Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ QGraphicsScene&QGraphicsItem события мыши

Автор: crazymonkey 24.3.2012, 20:31

Доброго времени суток.

У меня имеется QGraphicsScene,QGraphicsView и несколько виджетов унаследованных от QGraphcsItem они же вершины графа.

Вообщем то, я и пытаюсь нарисовать граф.

Возник вопрос а как рисовать ребра?
Мысль дошла до того что нужно ловить mousePressEvent и mouseReleaseEvent и если они на разных вершинах то соединять линией, но вот как это реализовать?
Как точно понять координаты, через которые проводить линию?

Может быть кто-то делал что то похожее?

Автор: crazymonkey 26.3.2012, 19:33

АП!

Автор: ViGOur 27.3.2012, 14:42

Я делал подобное.
В http://doc.crossplatform.ru/qt/4.7.x/html-qt/graphicsview-elasticnodes.html можно подсмотреть само рисование графов и их рёбер.
В http://doc.crossplatform.ru/qt/4.7.x/html-qt/graphicsview-diagramscene.html, можно подсмотреть как добавлять QGraphcsItem на сцену и соединять друг с дружкой с помощью рёбер (QGraphicsLineItem).

По примерам вроде всё понятно, но если будут вопросы задавай.

Автор: crazymonkey 27.3.2012, 22:03

Большое спасибо. Не увидел примера Diagram Scene.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)