Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A QML extension plug-in to provide a binding of OGDF to QtQML.
C++ C Other
Branch: master


This plug-in provides a binding of Open Graph Drawing Framework to QtQML (Version 5.0+).

The Open Graph Drawing Framework offers sophisticated algorithms and data structures for the automatic layout of diagrams. Some parts of OGDF are experimental and unstable, so don't expect all algorithms to work equally well.


  • A wide range of layout algorithms such as
    • Orthogonal and polyline layouts
    • Multilevel layouts
    • Energy-based layouts
    • Upward layouts
    • Planar layouts
    • Tree layouts
    • etc.
  • Various generators for
    • Random graphs
    • Random trees
    • Random hierarchies
    • etc.
  • Easy to use - it's QML after all


You need to have a C++ compiler, Qt 5.0+ and CMake 2.8.11+ installed.

There are many ways to use CMake, but this is the easiest one: start Qt Creator, open CMakeLists.txt as new project, follow the instructions, hit build and you're done.

Quick Start

Once build, you can start ogdf-demo to find out what algorithms are available and how you want to use them to solve your problem.

To use the plug-in in your own project, you need to compile an OGDF directory and copy it to your application's working directory as follows:

OGDF/                 -- plug-in directory    -- compiled plug-in (Linux only)
  libogdfplugin.dylib -- compiled plug-in (OS X only)
  ogdfplugin.dll      -- compiled plug-in (Windows only)
  qmldir              -- module definition file

Whats next?

Here are some quick links to help you get started:


Licensed under the GNU Lesser General Public License Version 2.1 or Version 3.0. Copyright (c) 2013 Christoph Schulz.

Note: OGDF is licensed under the GNU General Public License Version 2.0 or Version 3.0. They kindly grand an exception to compile OGDF into this software and distribute it under weaker terms to prevent you from having legal issues when using this plug-in.

Something went wrong with that request. Please try again.