A lightweight framework on top of the Qt scene graph and only few classes from Qt/Quick. It is usable from C++ and/or QML.
Go to file
Peter Hartmann 3a1a7c635c
Iot dashboard: Make circular progress bar a QskControl (#124)
* IOT example, circular progress bar: Use a pen instead of a brush

That way we don't have to draw two circles, and we can in addition
use a conical gradient.

* IOT example: Make circular progress bar a QskControl

... and internally use a QskPaintedNode for now. By doing this we
already have the API ready (similar to QskProgressBar) and can
swap the QskPaintedNode with an arc renderer at a later point in
time.
2021-08-24 08:46:26 +02:00
doc tutorial fixed 2021-06-24 09:46:35 +02:00
examples Iot dashboard: Make circular progress bar a QskControl (#124) 2021-08-24 08:46:26 +02:00
features support for PREFIX added to qskconfig.pri 2021-06-24 09:35:15 +02:00
inputcontext using feature files 2019-04-02 09:07:09 +02:00
playground using pragma once for the examples 2021-08-04 10:11:12 +02:00
qmlexport renamed to QskQuickItem::UpdateFlags 2021-02-09 08:13:20 +01:00
skins getting rid of the confusing QskAbstractButton::Checkable state 2021-08-04 08:24:36 +02:00
src missing const qualifier added 2021-08-06 14:22:50 +02:00
support uncrustified 2021-08-04 09:31:16 +02:00
tools started with the doxygen docs 2020-12-08 11:03:50 +01:00
.clang-format playing with clang-format 2018-08-03 08:15:28 +02:00
.gitignore started with the doxygen docs 2020-12-08 11:03:50 +01:00
.qmake.conf project file include mechanism based on QMAKEFEATURES 2019-03-31 13:05:25 +02:00
.uncrustify .uncrustify added 2019-01-07 09:14:17 +01:00
COPYING initial commit 2017-07-21 18:21:34 +02:00
README.md shown the iotdashboard on the initial page 2021-06-04 12:05:46 +02:00
qskinny.pro project file include mechanism based on QMAKEFEATURES 2019-03-31 13:05:25 +02:00

README.md

QSkinny

The (Q)Skinny library is a framework built on top of the Qt scene graph and very few core classes from Qt/Quick. It offers a set of lightweight controls, that can be used from C++ and/or QML.

Doing the implementation in C++ allows to make use of the "scene graph" classes. Building controls from scene graph nodes allows for a lighter implementation than found with stacking "heavier" objects like QObject or QQuickItem. Offering a full featured C++ API allows the application code to benefit from following the same strategies.

Being "skinny" also means a design that separates concerns between the API and logic of the controls themselves, the styling of these controls, and the delegated rendering of the controls to the screen.

The code already provides a solid fundament for an automotive GUI with currently ~300K lines of pure C++ code. As expected it results in a good startup performance and a low memory footprint.

Nontheless QSkinny is lacking in areas like documentation or appealing default skins. The QML API has not been completed after reaching a proof of concept state. Furthermore the current selection of the implemented controls is limited to the needs of the driving projects.

QSkinny is supposed to run on all platforms being supported by Qt/Quick. But so far only Linux is actively tested. It might support all versions Qt >= 5.6, but you can rely on:

  • Qt 5.6
  • current long term supported ( LTS ) version of Qt
  • current version of Qt

If you want to know more about QSkinny - or even like to give it a specific direction - please contact support@qskinny.org.

IOT dashboard