qt-material
Material inspired stylesheet for PySide6 and PyQt6.
What it is and what it does
Qt-Material is a stylesheet package that brings Material Design aesthetics to applications using PySide6 and PyQt6. It ships with pre-built dark and light themes and lets you apply them to your entire application with a single function call. The package depends only on Jinja2 and works as a pure Python wheel, making it lightweight to install.
Beyond the built-in themes, you can customize colors, fonts, button accent colors, and CSS properties either at startup or at runtime. The package supports theme switching mid-application, exporting themes to standalone QSS files for use in non-Python Qt projects, and creating entirely new themes through an interactive editor. Environment variables expose the current theme's colors for programmatic access.
Use it for:
- Apply a consistent Material Design look to a desktop application without writing custom stylesheets.
- Switch between dark and light themes at runtime based on user preference or system settings.
- Create a custom theme using Material Design colors and export it as a standalone QSS file.
- Add accent colors (danger, warning, success) to buttons and other widgets by setting class properties.
- Extend a built-in theme with custom CSS overrides for application-specific styling needs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Applies a Material Design stylesheet to PySide6 and PyQt6 applications, providing pre-built dark and light themes with customizable colors and fonts.
Yes, if you are building a PySide6 or PyQt6 application and want Material Design styling without writing stylesheets from scratch. The package is stable, permissively licensed, and has low install friction. The aging maintenance status (480 days since last release) is a minor concern but not a blocker—the codebase is mature and the repository remains active. No known security vulnerabilities.
Install
qt-material on PyPI
pip
pip install qt-materialuv
uv add qt-materialpoetry
poetry add qt-materialInstalling qt-material
Before you install
Low install friction; pure Python wheel with only Jinja2 as a runtime dependency. Maintenance is aging—last release was 480 days ago, though the repository remains active with recent commits.
License in practice
BSD-2-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install qt-material
from qt_material import apply_stylesheet, list_themes
themes = list_themes()
apply_stylesheet(app, theme='dark_teal.xml')
Requires PySide6, PyQt6, or PyQt5 to be installed separately; qt_material must be imported after the Qt framework.
Verify before relying
- Exact count of pre-built themes available in the package.
- Whether runtime theme switching (QtStyleTools) works reliably across all supported Qt versions.
- Performance impact of applying stylesheets to large, complex UIs.
- Compatibility with custom Qt plugins or extensions beyond standard widgets.
Package facts
| License | BSD-2-Clause (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — Jinja2 |
| Maintenance | aging — 480 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 124,469/month — #11,868 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: qt_material-2.17-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
materialyoucolorGenerates Material Design 3 color schemes and…
unclear · top 15,000 on PyPI
QDarkStyleQDarkStyle provides pre-built dark and light…
permissive · top 15,000 on PyPI
superqtProvides additional Qt widgets and UI…
permissive · top 15,000 on PyPI
QtAwesomeQtAwesome provides iconic fonts—Font Awesome,…
permissive · top 15,000 on PyPI
PySide6PySide6 provides Python bindings to the Qt 6.0+…
copyleft · top 5,000 on PyPI
PySide6-EssentialsPySide6 Essentials provides Python bindings to…
copyleft · top 5,000 on PyPI
panel-material-uiPanel Material UI brings Material Design…
permissive · top 5,000 on PyPI
darkdetectDetects whether the operating system is in Dark…
permissive · top 5,000 on PyPI
sv-ttkApplies a modern, Windows 11-inspired visual…
permissive · top 15,000 on PyPI
aiolifx-themesApplies color themes to LIFX smart lights using…
permissive · top 15,000 on PyPI