qskinny/README.md

67 lines
3.0 KiB
Markdown
Raw Normal View History

# QSkinny
2017-07-21 18:21:34 +02:00
![](https://github.com/uwerat/qskinny/workflows/CI/badge.svg)
2023-04-05 17:47:15 +02:00
[![CMake Build Matrix](https://github.com/vrcomputing/qskinny/actions/workflows/cmake.yml/badge.svg)](https://github.com/vrcomputing/qskinny/actions/workflows/cmake.yml)
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.
2022-12-05 07:51:41 +01:00
It might support all versions Qt >= 5.15, but you can rely on:
2018-09-29 18:29:51 +02:00
2022-03-08 11:53:46 +01:00
- Qt 5.15
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
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`.
2023-04-05 17:47:15 +02:00
> 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`
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.
![IOT dashboard](/doc/images/iotdashboard.png)
# 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:
2021-12-17 15:06:41 +01:00
1. Agree to the terms of the [Contributor Agreement](https://gist.github.com/uwerat/76b2f3df5e246cc468231f55f1d35e47#file-qskinny-cla-md).
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.