Overview | Dependencies | Building | Roadmap | License
(Linux / g++6 / Qt5.10.1 - OSX / Clang 8.1 / Qt 5.11.1 CMake)
(Windows / MSVC 2015 x64 / Qt5.10.1 / qmake)
There is quite a lot of traffic and clones actually: Please remember to star the project and reports bugs....
- CHANGELOG 20180704: Complete refactoring of QuickQanava internal topology "backend" GTpo.
- CHANGELOG 20180602: Major documentation update (see Custom Groups and Graph View and Using from C++.
QuickQanava
is a C++14 library designed to display graphs and relational content in a Qt application. QuickQanava provide QML components and C++ classes to visualize medium-sized directed graphs in a C++/QML application. QuickQanava focus on displaying relational content into a dynamic user interface with DnD support, resizable content and visual creation of topology. More advanced layouts algorithms might be integrated in future versions.
QuickQanava main repository is hosted on GitHub: http://cneben.github.io/QuickQanava/index.html
QuickQanava is primarily developed with Qt 5.10 with MSVC2015U3 and g++7 (minimal required Qt version is Qt 5.10)
-
Project homepage: http://cneben.github.io/QuickQanava/index.html
For any questions, please contact: [email protected]
QuickQanava focus on writing content delegates in QML (even if they could be 100% defined in C++, a QML engine is still necessary in the background).
Edges |
---|
![]() |
Nodes |
---|
![]() |
- User Doc: QuickStart - Custom Nodes
Visual Connector |
---|
![]() |
- User Doc: QuickStart - Visual Connector
- Reference documentation: qan::Connector interface and Qan.VisualConnector component
Groups |
---|
![]() |
- User Doc: QuickStart - Using Groups
Styles |
---|
![]() |
- User Doc: QuickStart - Using Styles
- Qt 5.10 is mandatory for Qt Quick Shapes support.
- Google Test is a GTpo dependency, it is optional for QuickQanava until you intent to use a graph with custom non-STL/non-Qt containers:
Get the latest QuickQanava sources:
git clone https://github.com/cneben/QuickQanava
cd QuickQanava
QuickQanava could be used with either qmake or CMake build configuration system.
-
Open quickqanava.pro in QtCreator.
-
Select a kit, build and launch samples.
or (CMake > 3.5)
-
Open CMakeLists.txt in QtCreator.
-
In 'Projects' panel, set DBUILD_SAMPLES option to true in CMake configuration panel.
-
Select a kit, build and launch samples.
Or manually using CMake:
$ git submodule add https://github.com/cneben/QuickQanava
$ git submodule update
$ cd QuickQanava
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SAMPLES=TRUE ..
$ cmake --build .
# Then run the samples
- v0.10.0:
- Redesign GTpo (add complete support for static/dynamic behaviours).
- Push GTpo test coverage to 100% (ie increase coverage for subgroups).
- v0.11.x:
- Add support for direct visual dragging of port items.
- Add full support for groups inside group (ie subgraphs).
- Fix current qan::PointGrid bugs and add "snap to grid" support.
- Add more configuration options to qan::Edge (source and destination arrow configuration).
- v1.: Advanced edge visualization
- Add better support for graph fine grained locking strategies.
- Add simple layout algorithms (force directed, tree).
- Publish the 4k sample (40k is probably too much for QML without dedicated culling and LOD code).
Copyright (c) 2017 BA