73 lines
2.6 KiB
Plaintext
73 lines
2.6 KiB
Plaintext
/*!
|
|
\mainpage 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.
|
|
|
|
@dot
|
|
digraph skinny {
|
|
table [ shape=record, label="{
|
|
QSkinny: key functionality and classes |
|
|
{
|
|
{ Controls | <Controls>API, logic and layout of UI } |
|
|
{ Rendering | <Rendering>Delegation of rendering commands } |
|
|
{ Styling | <Styling>Visual configuration }
|
|
}
|
|
}"];
|
|
|
|
QskControl [ URL="\ref QskControl"]
|
|
QskLayout [ URL="\ref QskLayout"]
|
|
QskSkinlet [ URL="\ref QskSkinlet"]
|
|
QskGraphic [ URL="\ref QskGraphic"]
|
|
QskSkin [ URL="\ref QskSkin"]
|
|
QskSkinnable [ URL="\ref QskSkinnable"]
|
|
|
|
table:Controls:s -> QskControl
|
|
table:Controls:s -> QskLayout
|
|
|
|
table:Rendering:s -> QskSkinlet
|
|
table:Rendering:s -> QskGraphic
|
|
|
|
table:Styling:s -> QskSkin
|
|
table:Styling:s -> QskSkinnable
|
|
}
|
|
@enddot
|
|
|
|
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 \ref qskoptimizations "optimizations"
|
|
enabled by default
|
|
- A \ref qsklayouts "layout system" comparable to the one available for \ref QWidget "Qt Widgets"
|
|
- A way to \ref qskskinning "skin" (theme/style) applications entirely from C++,
|
|
including built-in support for CSS-like inheritance and \ref qskanimations "animated transitions"
|
|
- Better support for \ref qskvectorgraphics "vector image formats" to aid in
|
|
scalable UI creation
|
|
|
|
Doing the implementation in C++ allows to make use of the \ref qsknodes "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).
|
|
|
|
\section license License
|
|
|
|
QSkinny is distributed under the terms of the BSD-3-Clause license.
|
|
|
|
\section platforms 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.
|
|
*/
|