kqmlgraphplugin -- a QML plugin to render beautiful and interactive graphs

Sebastian Gottfried sebastiangottfried at web.de
Sat Jan 25 11:17:05 GMT 2014


Hi everyone,

some time ago I was in need for a graphing component for my application 
(KTouch). As the applications UI is done entirely in QML, I was looking for an 
QML component to do so. Since there was no satisfactory of-the-shelf solution 
I decided to implement my own graphs. Currently, the code for these graphs 
lives in the KTouch repository in is distributed alongside KTouch.

More recently, at the last Edu sprint Andreas Cord-Landwehr approached me, 
because he would like to use the same graphs in his new application, 
artikulate.

So we decided to split the graphing code out of KTouch and develop it in an 
independent project. This was pretty simple, since technically the code was 
already a plugin, only bundled with KTouch. That way kqmlgraphplugin was born.

The goal:

Provide a set of simple components to enable applications with a QML user 
interface to embed clear and visually pleasing graphs for tabular data.  

The current state:
 * we have components to display line and bar graphs
 * data comes from a QTableModel provided by the client
 * all code is currently Qt4 / QML 1.1
 * project is hosted as a KDE Playground Project
 * GIT-URL: git at git.kde.org:kqmlgraphplugin, kqmlgraphplugin on bugs.kde.org

That's missing:
 * API documentation
 * a small demo app

More information on the usage of the components can be found on my blog from 
an old but still accurate entry:

> http://blog.sebasgo.net/blog/2012/09/26/line-graphs-for-qt-quick/

Andreas and me want to release this project as soon as possible to the public, 
since artikulate depends on this plugin already and can't be released before 
this. 

I think the code is pretty stable. It's used inside KTouch without any 
problems since KDE 4.10.

I'm less sure about how the release should be done and there these components 
fits in. Should this plugin be distributed on its own or as part of something 
bigger? And what happens after the Qt5 / QML 2 transistion, should this be 
part the Frameworks 5? I think a lot of applications could be interested in 
such a plugin.

Also interesting is the question of the wanted dependencies. Currently it uses 
Qt (obviously) and also imports some Plasma components for theme integration. 
I thinks that's no issue for a Qt4-based release, since all the QML using KDE 
applications already depend on Plasma components anyway, but for QML 2 it's 
probably better to get rid of this dependency.

Best regards,

Sebastian






More information about the kde-core-devel mailing list