A lightweight framework on top of the Qt scene graph and only few classes from Qt/Quick. It is usable from C++ and/or QML.
Go to file
Uwe Rathmann 5d9f22a757 When deleting a focus scope the hasFocus() flag is not cleared for the
item having the local scope. In situations, where the focusScope is no
parent ( only a parentItem() ) and the focusItem gets reparented
we run into an invalid situation with a wron focus flag.
To work around this Qt bug we manually clear the focus flag.
2018-04-17 21:28:15 +02:00
doc rcc: Use the right binary when invoking manually (#35) 2017-07-26 13:18:01 +02:00
examples SPEEDO define added - being disabled as default setting 2018-04-10 17:11:42 +02:00
inputcontext When deleting a focus scope the hasFocus() flag is not cleared for the 2018-04-17 21:28:15 +02:00
playground more input items 2018-04-13 16:24:08 +02:00
skins QskTextInput/QskInputPanel improved 2018-04-13 16:32:48 +02:00
src fixed for multiple windows with different thread contexts 2018-04-17 14:46:50 +02:00
support not creating the font cache at build time anymore - it is easier to let 2018-03-13 21:07:43 +01:00
tools initial commit 2017-07-21 18:21:34 +02:00
.gitignore Add Pinyin / Hunspell and some more refactoring (#58) 2018-03-30 10:15:05 +02:00
COPYING initial commit 2017-07-21 18:21:34 +02:00
README.md README changed 2017-07-30 14:31:28 +02:00
TODO initial commit 2017-07-21 18:21:34 +02:00
qskconfig.pri 3rdparty moved to inputcontext/3rdparty. 2018-03-30 18:31:13 +02:00
qskinny.pro 3rdparty moved to inputcontext/3rdparty. 2018-03-30 18:31:13 +02:00

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

This is a screenshot of a sample automotive UI (see examples/automotive):

Automotive screenshot