Description: Qanava is a C++ library designed to display graphs in a Qt graphics view. Qanava provide classes to generate various layouts of directed graphs and visualize their nodes with custom styles and attributes on a graphic canvas. Qanava is designed for applications with basic graph visualization needs such as Gantt charts, social networks, and document or network modelling applications. It is not meant for a complex interactive visualization of very large data sets.Last changelog:
Qanava-0.9.2 brings full GCC and a preliminary Android support.
You may be interested in my svn import into git repository:
http://repo.or.cz/w/qanava.git
By looking at files it's at least v0.3.0 and according to svn commit it is v0.3.1. I haven't found any newer version in internet.
PyQT is more and more popular, unfortunately, my knowledge of Python is so limited, that I can’t create nor maintain such a binding by myself. Anyways, it would probably be better to wait for version 0.1.0 until the API is more stable before starting any binding... even if contributors for a Python binding are welcome!
Hi,
whats up with guys requiring qt3 due them make kde software (as you see this is a site for kde-apps) and kde will stay a while on qt3.
I tried to get the old QCanava 0.4 but there is no link on your site, I didn't find a link to repository to simply checkout the old branch, is it it possible to get it anywhere?
tnx
« Hi »
KDE development (as far as I know) is already very active on qt4 (qtcopy, etc…). Qanava is developed with KDE in mind (for example as a replacement for the visual history code) and if it is still mainly a library, Qanava will soon evolve to incorporate a graph editor or a file browser application to demonstrate its abilities (BTW, I was actually invited to register Qanava on kde-apps by a mail from one of the moderator, I would otherwise not have applied).
Concerning QT4, since Qanava is in v0.0.7, it is … 93 releases away from 1.0, so it let KDE developers plenty of time to port their software to QT4 :)
Qanava 0.0.4 is no longer useable nor available (there has been too much changes and bug fixed). If you just want to look at the sources, all the QCanvas related code can still be cut and pasted to qt3 apps (just forget all the Interview related classes).
Pheraps you should also have a look to KGraphViewer.
Cheers
How does this compare to graphviz?
http://www.research.att.com/sw/tools/graphviz/
I'm using graphviz to display dependencies in assembly lists atm. I have written a small Gambas (Basic) tool to output .dot files for graphviz. Graphviz has very good display algorithms. Does Qanava have it's own algorithms to generate an optimized graph or is it just displaying the graph?
How does this compare to graphviz?
http://www.research.att.com/sw/tools/graphviz/
I'm using graphviz to display dependencies in assembly lists atm. I have written a small Gambas (Basic) tool to output .dot files for graphviz. Graphviz has very good display algorithms. Does Qanava have it's own algorithms to generate an optimized graph or is it just displaying the graph?
Unlike Graphviz, Qanava describe its graphs programmatically and display the result in a QT canvas allowing the user to interact with the graph (move and select nodes, etc.). Qanava can layout graph automatically as a tree or using a spring-force algorithm. Qanava is designed to handle small to medium sized graphs (1000 nodes), while graphviz can handle very large graphs with state of the art algorithms.
If you want to build a dedicated QT or KDE application to display your graph without scripting or calling an external application, then Qanava might be a good choice.
Actually you can also use Graphviz as a library. In this mode, Graphviz supports plug-in drawing engines, and you can use QCanvas for the output. I have done this in my project (KScope).
None the less, Graphviz has its shortcomings, so I am interested to see what comes out of this project.
Thanks, I was not aware of this functionality (even if I'am a regular Graphiz user!). I've looked at your graphic code, and it's very clean even if you might benefit from some of the Qanava features (it probably need some extension to support the same tree layout than Graphviz).
Unfortunately, Qanava no longer support qt3, I would otherwise have been happy to adapt your call graph viewer as a techdemo for Qanava!
To display dot files, you can try my kgraphviewer application. Even if it is still (and since a long time !) in its early stage, it can display a lot of not huge dot graphs.
It is based on the graphs widgets used in kallgrind. But a lot of enhancements and cleanings should be done, maybe using qanava...
Hi kleag,
I’ve followed KGraphViewer development for a long time now, and you .dot parser really make me envious :) (except for the BOOST dependency, but Spirit seems to be a really good parser!)
Some code can certainly be shared between KGraphViewer and Qanava, mail me if you are interested...
Ratings & Comments
14 Comments
Could you please have a look, I can not download from: http://www.qanava.org/dl. Did you get any further on the file browser example app for KDE?
i want to download qanava 0.3.2 but www.qanava.com does not respond any one can help me ?
You may be interested in my svn import into git repository: http://repo.or.cz/w/qanava.git By looking at files it's at least v0.3.0 and according to svn commit it is v0.3.1. I haven't found any newer version in internet.
hi, can we see in a near future a binding for python?
PyQT is more and more popular, unfortunately, my knowledge of Python is so limited, that I can’t create nor maintain such a binding by myself. Anyways, it would probably be better to wait for version 0.1.0 until the API is more stable before starting any binding... even if contributors for a Python binding are welcome!
Hi, whats up with guys requiring qt3 due them make kde software (as you see this is a site for kde-apps) and kde will stay a while on qt3. I tried to get the old QCanava 0.4 but there is no link on your site, I didn't find a link to repository to simply checkout the old branch, is it it possible to get it anywhere? tnx
« Hi » KDE development (as far as I know) is already very active on qt4 (qtcopy, etc…). Qanava is developed with KDE in mind (for example as a replacement for the visual history code) and if it is still mainly a library, Qanava will soon evolve to incorporate a graph editor or a file browser application to demonstrate its abilities (BTW, I was actually invited to register Qanava on kde-apps by a mail from one of the moderator, I would otherwise not have applied). Concerning QT4, since Qanava is in v0.0.7, it is … 93 releases away from 1.0, so it let KDE developers plenty of time to port their software to QT4 :) Qanava 0.0.4 is no longer useable nor available (there has been too much changes and bug fixed). If you just want to look at the sources, all the QCanvas related code can still be cut and pasted to qt3 apps (just forget all the Interview related classes). Pheraps you should also have a look to KGraphViewer. Cheers
How does this compare to graphviz? http://www.research.att.com/sw/tools/graphviz/ I'm using graphviz to display dependencies in assembly lists atm. I have written a small Gambas (Basic) tool to output .dot files for graphviz. Graphviz has very good display algorithms. Does Qanava have it's own algorithms to generate an optimized graph or is it just displaying the graph?
How does this compare to graphviz? http://www.research.att.com/sw/tools/graphviz/ I'm using graphviz to display dependencies in assembly lists atm. I have written a small Gambas (Basic) tool to output .dot files for graphviz. Graphviz has very good display algorithms. Does Qanava have it's own algorithms to generate an optimized graph or is it just displaying the graph?
Unlike Graphviz, Qanava describe its graphs programmatically and display the result in a QT canvas allowing the user to interact with the graph (move and select nodes, etc.). Qanava can layout graph automatically as a tree or using a spring-force algorithm. Qanava is designed to handle small to medium sized graphs (1000 nodes), while graphviz can handle very large graphs with state of the art algorithms. If you want to build a dedicated QT or KDE application to display your graph without scripting or calling an external application, then Qanava might be a good choice.
Actually you can also use Graphviz as a library. In this mode, Graphviz supports plug-in drawing engines, and you can use QCanvas for the output. I have done this in my project (KScope). None the less, Graphviz has its shortcomings, so I am interested to see what comes out of this project.
Thanks, I was not aware of this functionality (even if I'am a regular Graphiz user!). I've looked at your graphic code, and it's very clean even if you might benefit from some of the Qanava features (it probably need some extension to support the same tree layout than Graphviz). Unfortunately, Qanava no longer support qt3, I would otherwise have been happy to adapt your call graph viewer as a techdemo for Qanava!
To display dot files, you can try my kgraphviewer application. Even if it is still (and since a long time !) in its early stage, it can display a lot of not huge dot graphs. It is based on the graphs widgets used in kallgrind. But a lot of enhancements and cleanings should be done, maybe using qanava...
Hi kleag, I’ve followed KGraphViewer development for a long time now, and you .dot parser really make me envious :) (except for the BOOST dependency, but Spirit seems to be a really good parser!) Some code can certainly be shared between KGraphViewer and Qanava, mail me if you are interested...