Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DexterMagnific/QSvgStyle
QSvgStyle is a themeable SVG style for Qt5 applications
https://github.com/DexterMagnific/QSvgStyle
qt qt5 style theme
Last synced: 2 months ago
JSON representation
QSvgStyle is a themeable SVG style for Qt5 applications
- Host: GitHub
- URL: https://github.com/DexterMagnific/QSvgStyle
- Owner: DexterMagnific
- License: gpl-2.0
- Created: 2012-11-12T19:56:51.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-01-04T17:25:44.000Z (about 1 year ago)
- Last Synced: 2024-08-02T13:22:02.747Z (6 months ago)
- Topics: qt, qt5, style, theme
- Language: C++
- Homepage:
- Size: 3.88 MB
- Stars: 94
- Watchers: 7
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# QSvgStyle distribution
QSvgStyle is a themeable SVG style for Qt 6 desktop applications
(C) Said LANKRI, under the GNU GPL License version 2+It comes with the style engine (QSvgStyle), a theme builder (QSvgThemeBuilder),
a theme manager (QSvgThemeManager) and a built-in svg cleaner courtesy of
SVGCleaner team.## QSvgStyle
- Themeable Qt5 style engine using standard SVG documents as themes
- Fast rendering. QSvgStyle renders at the speed of a raster engine, which
is at least twice faster than the Qt SVG renderer
- Support for color schemes. The theme can be configured to apply the current
color scheme on top of the rendered theme
- Support for Widget palettes. QSvgStyle will honour any QPalette set on a widget
- Complete support for Right-to-Left layouts
- Support for capsule grouping in buttons
- Support for variants for some widgets
- Built-in default theme
- Cleanest QStyle engine code with regular code patterns## QSvgThemeBuilder
- Easy to use GUI tool to build configuration files for themes, with support
for multiple preview variants, RTL layouts, enabled/disabled states and others
- Live configuration previews. Any changes made to the settings are
immediately effective in the preview area
- Live SVG previews. Any changes externally made to the SVG theme are
immediately effective in the preview area
- Inheritance system. A widget can inherit the settings of another
one, as such settings are limited to the differences and configuration
files are kept to minimal size
- Display of effective values. When a setting is inherited, the effective
value is computed and shown in the GUI
- Unique debugging tool to see the Qt rendering internals and detect missing
SVG elements in the theme
- Basic SVG generator. Use the built-in SVG generator to generate
accurate frames, interiors and shadows to be exported to your favorite SVG
editing tool for a faster theme making workflow
- Built-in SVG cleaner. Use the cleaner to reduce the size of your SVG file
by a half or more## QSvgThemeManager
- Select the active QSvgStyle theme to apply
- Download online themes
- Live preview of themes# Build the source
## Compile
You need the Qt6 development files of the following modules to compile QSvgStyle:
- Qt Base
- Qt SVG
- Qt5 Compatibility moduleFor debian based systems:
```
sudo apt install qt6-base-dev qt6-svg-dev qt6-5compat-dev
```Then you build it:
```
$ qmake6
$ make -j
```## Install
```
$ sudo make install
```## Use
You can launch any Qt6 application with QSvgStyle styling by adding a `-style` option:
```
$ dolphin -style qsvgstyle
```To globally set QSvgStyle as your default style engine, use your favorite
desktop's configuration tool. For example, use the System Settings in KDE.# QSvgThemeManager: chose theme and tweak the engine
QSvgStyle will use its built-in theme when no particular theme has been chosen.
To choose a theme, use the QSvgThemeManager application.```
$ qsvgthememanager
```- Choose the active theme and tweak the engine
![QSvgThemeManager](screenshots/thememanager1.jpg)# QSvgThemeBuilder: build theme configuration
QSvgStyle comes with a nice GUI that helps building themes.
It can generate both an initial SVG file based on the default theme and its
companion config file.```
$ qsvgthemebuilder
```- QSvgThemeBuilder at startup
![QSvgThemeBuilder](screenshots/themebuilder1.jpg)- Editing configuration for a flat theme
![QSvgThemeBuilder](screenshots/themebuilder2.jpg)- Showing effective values of inherited settings
![QSvgThemeBuilder](screenshots/themebuilder3.jpg)- Quick SVG generator to generate SVG items with frames, interiors and shadows
with many generation options
![QSvgThemeBuilder](screenshots/themebuilder4.jpg)- Export to SVG editing application of accurate, clean and minimal SVG data with
given SVG ids
![QSvgThemeBuilder](screenshots/themebuilder5.jpg)
![QSvgThemeBuilder](screenshots/themebuilder6.jpg)# Documentation
The latest documentation is always available at [Read The Docs](http://qsvgstyle.readthedocs.io/en/latest)