2021-12-06 19:00:26 +01:00
|
|
|
# QSkinny
|
2017-07-21 18:21:34 +02:00
|
|
|
|
2017-07-30 14:31:28 +02:00
|
|
|
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.
|
2017-07-22 18:17:53 +02:00
|
|
|
|
|
|
|
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.
|
2017-07-22 18:29:06 +02:00
|
|
|
Offering a full featured C++ API allows the application code to benefit
|
|
|
|
from following the same strategies.
|
2017-07-22 18:17:53 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2018-09-29 18:44:54 +02:00
|
|
|
The code already provides a solid fundament for an automotive GUI with
|
2019-03-17 16:53:32 +01:00
|
|
|
currently ~300K lines of pure C++ code. As expected it results
|
2018-09-29 18:44:54 +02:00
|
|
|
in a good startup performance and a low memory footprint.
|
2017-07-22 18:17:53 +02:00
|
|
|
|
2018-09-29 18:44:54 +02:00
|
|
|
Nontheless QSkinny is lacking in areas like documentation or appealing
|
|
|
|
default skins. The QML API has not been completed after reaching a
|
2018-09-29 18:48:55 +02:00
|
|
|
proof of concept state. Furthermore the current selection of the implemented
|
2018-09-29 18:44:54 +02:00
|
|
|
controls is limited to the needs of the driving projects.
|
2018-09-29 18:29:51 +02:00
|
|
|
|
2018-09-29 18:44:54 +02:00
|
|
|
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:
|
2018-09-29 18:29:51 +02:00
|
|
|
|
|
|
|
- Qt 5.6
|
2018-09-29 18:48:55 +02:00
|
|
|
- current long term supported ( LTS ) version of Qt
|
2018-09-29 18:44:54 +02:00
|
|
|
- current version of Qt
|
2018-09-29 18:29:51 +02:00
|
|
|
|
2021-11-22 15:51:05 +01:00
|
|
|
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`.
|
|
|
|
|
2018-09-29 18:44:54 +02:00
|
|
|
If you want to know more about QSkinny - or even like to give it a specific
|
|
|
|
direction - please contact support@qskinny.org.
|
2017-07-26 04:18:01 -07:00
|
|
|
|
2021-06-04 12:05:46 +02:00
|
|
|
![IOT dashboard](/doc/images/iotdashboard.png)
|
2021-12-06 19:00:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
# Contributing to QSkinny
|
|
|
|
|
|
|
|
For now QSkinny is licensed under LGPL v2.1. In the future, We want to have the
|
|
|
|
possibility to transfer the QSkinny code to a **more permissive license**, i.e.
|
|
|
|
any of the following or similar licenses: BSD "Simplified" License, BSD
|
|
|
|
"Revised" License or MIT license.
|
|
|
|
|
|
|
|
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](https://gist.github.com/peter-ha/74fead3d2b5efd4f90db4604d89f49a1).
|
|
|
|
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.
|
|
|
|
1. Submit your pull request for review.
|