LINUX.ORG.RU

Рисование графа в QT


0

2

Всем доброе время суток.
Задача: вывести в виджет ориентированный граф с минимумом пересечений ребер. Граф может быть любым, под конкретную задачу не подгоняем.
Судя по гуглу, делается это с помощью QGraphicsScene, но внятных примеров его использования я не нашел. Не подскажете примеры создания автоматических лейаут-менеджеров в QT?

Примеры по работе поставляются с Qt Creator или изучаются в книге Жасмин Бланшет. Там хорошо всё описано.

Вкратце: кидаешь на виджет объект QGraphicsView, связываешь с ним объект QGraphicsScene. Затем от класса QGraphicsItem наследуешь свои классы (рёбра и узлы) и добавляешь на сцену. Существует один пример как раз с узлами и соединениями в книге Бланшет и как минимум ещё один в Examples.

QT

Сразу правь, пока кто-нибудь про Quick Time не вспомнил.

stolz ()

Задача: вывести в виджет ориентированный граф с минимумом пересечений ребер.

Готового решения нет. Можно считать позиции узлов с использованием Graphivz и затем выводить их на QGraphicsScene: http://mupuf.org/blog/article/34/

При большом желании Graphviz можно заменить на Boost Graph Library.

reader ()

Пошутил про Qt и QT.

KblCb ★★★★★ ()

> Задача: вывести в виджет ориентированный граф с минимумом пересечений ребер.

А разве эта задача уже решена? Раньше целые институты пытались решить, но безуспешно.

dave ★★★★★ ()

> QT

Поверь, в Quick Time это проблематично сделать.

Chaser_Andrey ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.