Advanced Stylesheets with Theming Support for Qt
Advanced Stylesheets with Theming Support for Qt
Advanced Stylesheets with Theming Support for Qt.
The library allows runtime color switching for CSS stylesheet themes including SVG resources and SVG icons. The image below shows switching of accent color and switching between dark and light theme. Notice how the icons in the left sidebar change color when switching between dark and light theme.
The main features are:
loadThemeAwareSvgIcon()If you run the full_features example, then you can test the functionality.
There are some custom dark themes:
And light:
The library allows you to create stylesheets that contain variables that are replaced at runtime like in this example:
QComboBox:disabled {
color: {{primaryColor|opacity(0.2)}};
background-color: {{secondaryColor|opacity(0.75)}};
border-bottom: 2px solid {{primaryColor|opacity(0.2)}};
}
QComboBox::drop-down {
border: none;
color: {{primaryColor}};
width: 20px;
}The library supports loading of theme-aware SVG icons.
AdvancedStylesheet.loadThemeAwareSvgIcon(":/app/images/progress.svg");This allows runtime color switching of application icons like in the toolbar below.
Open the acss.pro file with QtCreator and start the build, that's it.
You can run the example projects and test it yourself.
Have look into the file CMainWindow in the full_features example to learn
ho to use the CStyleManager. Here are the basic steps to add the style
manager to your application:
…The full_features example shows a window with almost all widgets to test all
themes and create new ones.
There is a Python implementation for this library available qtass-pyside6 - Qt Advanced Stylesheets for PySide6.
The library can be installed via pip:
pip install qtass-pyside6The source code is available on GitHub:
https://github.com/githubuser0xFFFF/qtass-pyside6
The idea is to merge my QtFluentDesign project into this project to create a nice Windows 11 style that can dynamically adapt to the Windows accent color and to the Window dark and light theme.
This project uses the LGPLv2.1 license for the source code. The stylesheets use individual licenses which are located in the directory of the corresponding style.
The project is strongly inspired by the great Qt-material project from GCPDS and uses the qt-material stylesheet from this project.
If this project help you reduce time to develop or if you just like it, you can give me a cup of coffee :coffee::wink:.
The CETONI Elements software from CETONI is a comprehensive, plugin-based and modular laboratory automation software for controlling CETONI devices using a joint graphical user interface. The software features a powerful script system to automate processes.
CETONI Elements Dark Theme
CETONI Elements Light Theme
No open issues yet, or sync has not completed.