Skip to main content

FluentWinUI3 QML style for PySide6 — one-liner to add the Fluent theme

Project description

FluentPySide

PyPI Version Downloads

fluentpyside packages the FluentWinUI3 Qt Quick Controls style so any Qt / PySide6 application can add the FluentWinUI3 theme easily. The goal is to make it simple to enable the Fluent theme without bundling the full PySide6 runtime into your application. For minimal, bloat-free builds prefer installing PySide6-Essentials on the target system rather than packaging compiled plugin binaries inside this package.

Quick Start

pip install PySide6-Essentials   # recommended — provides the runtime plugins
pip install fluentpyside
import fluentpyside
fluentpyside.apply()

That's it. apply() registers the FluentWinUI3 QML import path and attempts to set the QtQuickControls2 style to FluentWinUI3. After that, any QML file that imports QtQuick.Controls.FluentWinUI3 will use the Fluent theme.

Full example

from PySide6.QtWidgets import QApplication
from PySide6.QtQml import QQmlApplicationEngine
import fluentpyside

app = QApplication([])
engine = QQmlApplicationEngine()

# One-liner to register the import path and set the style
fluentpyside.apply()

# Now load any QML that uses QtQuick.Controls.FluentWinUI3
engine.load("main.qml")
app.exec()

Requirements

  • Python 3.8+
  • PySide6-Essentials (recommended) or PySide6 — provides the Qt runtime plugins needed at runtime. This package only ships the QML styling files (no compiled plugin binaries), keeping the wheel small and cross-platform.

Updating the theme in a project

If you want to copy the FluentWinUI3 QML tree into a target project manually:

python tools/update_theme.py /path/to/your/project

This copies FluentWinUI3/ into /path/to/your/project/QtQuick/Controls/FluentWinUI3/ so you can add the project root as a QML import path.

Notes and troubleshooting

  • Always call fluentpyside.apply() before loading QML that imports QtQuick.Controls.FluentWinUI3.
  • If the style doesn't apply, make sure PySide6-Essentials (or PySide6) is installed on the target system — it provides the compiled plugin binaries at runtime.
  • For fine-grained control use fluentpyside.set_style(engine=engine) or engine.addImportPath(...) directly.

License

  • Wrapper: MIT License (file LICENSE)
  • Upstream QML assets: copied from the locally installed PySide6 / PySide6-Essentials package. Follow Qt/PySide licensing when redistributing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fluentpyside-0.1.2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluentpyside-0.1.2-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file fluentpyside-0.1.2.tar.gz.

File metadata

  • Download URL: fluentpyside-0.1.2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for fluentpyside-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b8b30aa72c5a7c9a954f4652cff13d193e60e637fcaaf2c6c3802668e75badf0
MD5 d6e829253d7f5662f1b3d06544c77eb1
BLAKE2b-256 7a7d42dc8fe7ac9ddeefc93aac68c34c6ba2bf3efa4407e2cf9430af9e486b2a

See more details on using hashes here.

File details

Details for the file fluentpyside-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fluentpyside-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for fluentpyside-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7049797d20847de6b8e5952ff1f90e20642e0cad544a96e60634c60e7693e6c2
MD5 c9883b8e3749f49f3e87a7b1482a05f1
BLAKE2b-256 dddc3aca72cb3b0676e334b1ee4a1fd1f4bfe8ab1d9090a51df8e9e170b2e435

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page