Подтвердить что ты не робот

Бесплатная библиотека С++ для рисования блок-схем или Directed graph?

Я хочу встроить холст чертежа диаграммы в моей программе. Пользователи могли бы:

  • нарисовать "узлы" (узлы прямоугольника достаточно) и "ребра" (предпочтительнее быть ортогональными) для подключения "Узлы";
  • использовать мышь для перетаскивания узлов для макета и изменения размера прямоугольника;
  • выберите один или несколько узлов мышью для удаления, копирования, вставки и т.д.
  • выберите один или несколько узлов мышью для редактирования предопределенных свойств (объем, температура, давление и т.д.) для них;
  • изменить цвет (необязательно)
  • сохранение/чтение данных в/из файлов.

После рисования программе нужно только получить логику соединения (в структуре данных, например Directed graph) и свойствах для дальнейших вычислений.

Есть ли бесплатная или открытая библиотека С++ для этого? (Не требуется для кросс-платформенных, доступных в окнах.)

4b9b3361

Ответ 2

Если вы согласны использовать Qt-код для графической части вещей, Qanava делает достойную работу. Для рассмотрения самих графиков (не графически) Boost Graph довольно приятно.

Ответ 3

Кажется, что у Dynagraph имеется графический интерфейс.

http://www.dynagraph.org/

Dynagraph для Windows является полным графическим приложением OLE, позволяющим вставлять графики в другие документы и вставлять документы в граф в виде узлов.

Ответ 4

Похоже, вам придется это сделать. Qt позволит вам делать все, что вам нужно. Посмотрите на графический вид, который предлагает множество уже реализованных функций для управления вашим графиком.

Ответ 5

Возможно, это не так, как вам нужно, но если вам нужен быстрый и грязный способ сделать графический вывод из вашего кода, вы можете подключиться к gnuplot и отправить его командам. Если графики сложны, вы хотите что-то вроде Graphviz, но если они просто маленькие графики, то самая сложная часть - это объединение двух, и gnuplot делает это очень просто.