QSkinny 0.8.0
C++/Qt UI toolkit
Loading...
Searching...
No Matches
Introduction

The (Q)Skinny library contains a set of lightweight Qt Quick Controls. It is implemented to be 100% usable in C++, but can be used from C++ and/or QML application code. Being "skinny", the framework is intended to be both lightweight and skinnable.

The framework 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.

Besides establishing a more complete C++ API for Qt Quick application development, the QSkinny project offers:

  • Special attention to resource requirements (i.e. memory consumption and start-up performance), with a number of optimizations enabled by default
  • A layout system comparable to the one available for Qt Widgets
  • A way to skin (theme/style) applications entirely from C++, including built-in support for CSS-like inheritance and animated transitions
  • Better support for vector image formats to aid in scalable UI creation

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.

Note
The current selection of implemented controls is driven by the needs of specific projects and therefore may feel a bit random. Conceptually, though, any type of control fits into QSkinny, as long as it is usable from C++ (as opposed to only QML).

License

QSkinny is distributed under the terms of the BSD-3-Clause license.

Platforms

QSkinny 0.0.1 might be source code compatible in all environments where you find Qt >= 5.6. Due to its use of private Qt headers, it might be necessary to recompile QSkinny for different Qt versions.