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
Uwe Rathmann c5502a3e26 missing open call added 2018-10-23 19:21:17 +02:00
doc rcc: Use the right binary when invoking manually (#35) 2017-07-26 13:18:01 +02:00
examples missing open call added 2018-10-23 19:21:17 +02:00
inputcontext dllimport/dllexport stuff 2018-10-12 08:03:03 +02:00
playground QskModule -> QskQml 2018-10-04 10:34:44 +02:00
qmlexport dllimport/dllexport stuff 2018-10-12 08:03:03 +02:00
skins dllimport/dllexport stuff 2018-10-12 08:03:03 +02:00
src including the margins to heightForWidth/widthForHeight calculations 2018-10-23 19:19:09 +02:00
support dllimport/dllexport stuff 2018-10-12 08:03:03 +02:00
tools including cpp files tp svg2qvg to drop runtime dependencies 2018-10-22 10:09:37 +02:00
.clang-format playing with clang-format 2018-08-03 08:15:28 +02:00
.gitignore Add Pinyin / Hunspell and some more refactoring (#58) 2018-03-30 10:15:05 +02:00
COPYING initial commit 2017-07-21 18:21:34 +02:00
README.md README updated 2018-09-29 18:48:55 +02:00
TODO initial commit 2017-07-21 18:21:34 +02:00
qskconfig.pri 3rdparty moved to inputcontext/3rdparty. 2018-03-30 18:31:13 +02:00
qskinny.pro code related to QML access moved to an extra library: qmlexport 2018-10-04 10:23:28 +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 ~150K 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.

Below is a screenshot of a sample automotive UI (see examples/automotive):

Automotive screenshot