kqmlgraphplugin -- a QML plugin to render beautiful and interactive graphs
sebastiangottfried at web.de
Sat Jan 25 11:17:05 GMT 2014
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,
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.
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
* 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:
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
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.
More information about the kde-core-devel