commit c6aec22cbdbed31955e70ea73fc6863d9369ba22
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 11:34:55 2023 +0200
wip
commit 473946633e150129a3ba67ea321bda23fcd0f5a7
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 11:28:23 2023 +0200
wip
commit 368f6edac32457d6a060c2f2e8a722c0d15bf35c
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 11:26:46 2023 +0200
wip
commit eccffafec006d471cc691f3d10143219ec263c63
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 11:22:01 2023 +0200
wip
commit c5ae5025d4ed0ea7184fb8b4fa97df7f3ca54c0e
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 10:53:09 2023 +0200
wip
commit 174b1d946067c5b5c0bf4a9982d7b3f7f717d263
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 10:51:54 2023 +0200
wip
commit 3e89f17ea971adc19c89cca0eb38dc3e973a090e
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 10:15:17 2023 +0200
wip
commit 499a13ab74501c24f1e0effe56dfb9cf9ff9bf63
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Tue Oct 24 10:03:55 2023 +0200
wip
commit 935ffc6d23dcd20a2c70898f28063fcdffea0795
Merge: 82f44d41 0cf60b41
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Mon Oct 23 10:49:32 2023 +0200
Merge branch 'drawer' into Overlay
commit 0cf60b414cee9a26fa5a53f05938e69ab39294d7
Merge: da76eb6d
|
||
---|---|---|
.github/workflows | ||
cmake | ||
doc | ||
examples | ||
inputcontext | ||
playground | ||
qmlexport | ||
skins | ||
src | ||
support | ||
tools | ||
.clang-format | ||
.gitignore | ||
.qmake.conf | ||
.uncrustify | ||
CMakeLists.txt | ||
COPYING | ||
README.md |
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.15, but you can rely on:
- Qt 5.15
- current long term supported ( LTS ) version of Qt
- current version of Qt
On debian bullseye these packages need to be installed: build-essential qt-qmake qtbase5-dev qtbase5-private-dev qtdeclarative5-dev qtdeclarative5-private-dev libqt5svg5-dev
.
Optional: When enabling the
hunspell
feature the following package needs to be installed:libhunspell-dev
Optional: When enabling the
pinyin
feature the following package needs to be installed:libimepinyin-dev
If you want to know more about QSkinny - or even like to give it a specific direction - please contact support@qskinny.org.
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:
- 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.
- Submit your pull request for review.