Skip to main content

Fluent WinUI3 QML style helper for PySide6 (copies assets from local PySide6 install)

Project description

FluentPySide

fluentpyside packages the FluentWinUI3 Qt Quick Controls style so PySide6 apps can apply the Fluent theme easily.

Quick Start — three ways

  1. Install the wrapper package and use the helper (recommended)

Prerequisites:

  • Python 3.8+
  • PySide6 (and optionally PySide6-Essentials for upstream plugin binaries)

Install and run:

pip install PySide6
pip install -e .   # from this repository root (development install)
python examples/demo.py

Minimal example (use fluentpyside.set_style):

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

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

# Ensure package-local QML assets exist (copies from installed PySide6 when missing)
fluentpyside.install_assets()

# Add import path and try to set the QtQuickControls2 style plugin
fluentpyside.set_style(engine=engine)

# Load QML that imports FluentWinUI3
engine.load('examples/gallery.qml')
app.exec()
  1. Drag-and-drop the style into a project (no packaging)
  • Copy fluentpyside/QtQuick into your project root so there is ./QtQuick/Controls/FluentWinUI3/qmldir.
  • In Python, add your project root as a QML import path before loading QML:
from PySide6.QtWidgets import QApplication
from PySide6.QtQml import QQmlApplicationEngine

app = QApplication([])
engine = QQmlApplicationEngine()
engine.addImportPath('path/to/project/root')
engine.load('main.qml')
app.exec()
  1. Run the included gallery demo
pip install PySide6
pip install -e .
python examples/demo.py

Files included

  • fluentpyside/: Python wrapper and packaged QML assets
  • examples/demo.py: demo app that loads examples/gallery.qml
  • examples/gallery.qml: QML demo UI (gallery of controls)
  • tests/smoke_test.py: non-interactive smoke test

Publishing & GitHub

  • I will not publish/delete on your behalf without explicit credentials and confirmation.

  • To publish to PyPI locally:

    python -m build python -m twine upload dist/*

  • To create or replace a GitHub repo locally with gh:

    gh repo create /FluentPySide --public --source=. --push

    (If you want me to run these steps from this environment, provide the tokens and explicit confirmation.)

Notes and troubleshooting

  • Call fluentpyside.set_style(engine=engine) or engine.addImportPath(...) before loading QML that imports QtQuick.Controls.FluentWinUI3.
  • The package contains a copy of the QML files and (on Windows) the plugin DLL copied from your local PySide6 installation. Packaging platform binaries for cross-platform distribution is not recommended; instead require PySide6-Essentials on the target platform.

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.0.0.tar.gz (1.6 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.0.0-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fluentpyside-0.0.0.tar.gz
Algorithm Hash digest
SHA256 650d4e206c44033c8f36f588098a3770b1b8ed14b6eb1030982454c7f9587c05
MD5 5d8c7a13322e8593342c0cb03ef7118a
BLAKE2b-256 5742a88eb8df881c6d12e84cd81a1331e95a8f8d4684405dddddc339aaeeea48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fluentpyside-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 2.0 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d37c6007ab04573c0bcbf27c4816d825ea2a479339cfeed48fae28974d42c70
MD5 a7227e85d264b77da8a5c5027f553db5
BLAKE2b-256 b5f985d29b1858872922b592e7f444d865cc0efc6f9b75d7be65438cc287ce68

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