Peter Hartmann

QSkinny

A lightweight Qt UI library.

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 making 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.

Nonetheless, QSkinny is lacking in areas like documentation or appealing default skins. The QML API has not been completed after reaching 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
  • the current version of Qt

Note that this extension is still under development. Read Section "How mature is it?" in the extension home page. 

QSkinny Home page

 

By clicking button above, I agree Marketplace user terms and conditions

Reviews
Details
Publisher:
Peter Hartmann
Authors:
Uwe Rathmann
Andrew Knight
Peter Hartmann
From:
https://inqlude.org
License:
LGPL-2.0-only
Updated at:
2019-11-25
Platforms:
Linux
Windows
macOS
Qt versions:
5.6 or later
Support:
support@qskinny.org
Source repository:
https://github.com/uwerat/qskinny
Dependencies:
Qt5Quick