I'm looking for a tool to create directed graphs where I can move the nodes around and expand / shrink the graph when I, for example, click on a node. I want to use the graph in a QT interface. I thought about trying the Boost Graph Library but it seems that I can only create an image file of the graph with it. I'm not that deep into BGL yet; so does anybody know if its possible to greate graphs with BGL where I can move the nodes around afterwards? And is it possible to use it in QT? Or are there other tools?
-
Take a look at http://stackoverflow.com/questions/2751826/which-c-graph-library-should-i-use – KCiebiera Jun 27 '12 at 14:15
-
@KCiebiera If I understand Spencenator's question, the issue isn't a graphing library, it's a user interface library which works for BGL. – Samuel Harmer Jun 27 '12 at 14:21
-
@Styne666 yes, of course. But he asked three questions, all of them having useless answer yes. He should probably take a look at existing libraries and reformulate the problem. It is not easy to say what it means "move nodes around" or "shrink when I click". – KCiebiera Jun 27 '12 at 14:44
-
@KCiebiera Agreed, the question is poorly worded. But between the lines I think this is a good question :) – Samuel Harmer Jun 27 '12 at 18:45
3 Answers
Try to remember a node-edge map doesn't inherently have any graphical representation. Hence why the Boost Graph Library may not provide the kind of GUI you want.
When you understand that part of the problem, your question closely resembles these questions:
- Recommendations for visualising a directed graph in a Web UI
- Java Directed Graph framework [closed]
- Open source libraries to design directed graphs
- Good User Interface for Directed Hierarchical Graphs
I've not personally seen an implementation of Qt which aims to be a directed graph user interface framework. However Qt would be quite capable, with it's QGraphicsScene class being a good starting point for you to look into.

- 1
- 1

- 4,264
- 5
- 33
- 67
Take a look at the Qt Visual Graph Editor project:
https://arsmasiuk.github.io/qvge/
Has base classes representing a graph + nodes/edges for inspiration. Supports reading and exporting various common graph markup formats (e.g. GraphViz files).

- 41
- 5
I know of the QuickQuanva and NodeGraphQt frameworks. The latter is written in Python, however.

- 1,435
- 11
- 24