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 69eae90d3a Merge branch 'master' into features/modelobjectbinder 2024-09-17 17:43:06 +02:00
.github Qt5/Mac CI fixed 2024-06-17 12:21:06 +02:00
cmake cmake files fixed for using the QuickShapes module 2024-09-13 10:27:13 +02:00
designsystems using icons from https://github.com/microsoft/fluentui-system-icons/tree/main/assets 2024-04-23 15:36:07 +02:00
doc qt5 -> qt6 2024-03-19 11:37:07 +01:00
examples functionality of QskBoxFillNode/QskRectangleNode moved into QskBoxRectangleNode 2024-09-17 13:57:10 +02:00
inputcontext copyright notice generalised 2024-01-17 14:31:45 +01:00
playground Merge branch 'master' into features/modelobjectbinder 2024-09-17 17:43:06 +02:00
qmlexport broken QML version initialization fixed 2024-09-11 18:10:18 +02:00
src Merge branch 'master' into features/modelobjectbinder 2024-09-17 17:43:06 +02:00
support fonts.qrc split into several qrc files 2024-02-28 12:29:00 +01:00
tools wrong transformation ( from accidently removed viewBox ) in svg2qvg 2024-04-22 11:40:09 +02:00
.clang-format fix lower case 2023-08-09 08:30:56 +02:00
.gitignore renamed exported targets and files 2024-01-11 14:18:28 +01:00
.qmake.conf project file include mechanism based on QMAKEFEATURES 2019-03-31 13:05:25 +02:00
.uncrustify upgraded to uncrustify 0.76.0 - still not happy with the C++ beautifier 2023-02-28 15:49:42 +01:00
CMakeLists.txt extend execution rights 2024-02-01 11:56:07 +01:00
LICENSES wrong transformation ( from accidently removed viewBox ) in svg2qvg 2024-04-22 11:40:09 +02:00
README.md using cmake instead of make in the docs 2024-01-13 11:41:22 +01:00

README.md

QSkinny

CMake Build Matrix

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. The QML API has not been completed after reaching a proof of concept state.

QSkinny is supposed to run on all platforms being supported by Qt/Quick. It might support other versions of Qt, but you can rely on:

  • Qt 5.15
  • current long term supported ( LTS ) version of Qt ( at the moment Qt 6.5.x )
  • current version of Qt

How to build, install and use QSkinny is described in this tutorial.

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

IOT dashboard

Contributing to QSkinny

QSkinny is licensed under the BSD 3 Clause License ( https://opensource.org/license/bsd-3-clause ). However we want to be able to offer more licenses on request.

If you are fine with these terms, you are welcome to contribute to QSkinny by completing the following steps:

  1. Agree to the terms of the Contributor Agreement. You can create a pull request first, then the licensing bot will check automatically whether you already signed the Agreement or not. If you have not signed it yet, it will take you to the Agreement to agree.
  2. Submit your pull request for review.