Skip to main content

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

Project description

FluentPySide

PyPI Version Downloads

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.1.1.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.1.1-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluentpyside-0.1.1.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.1.1.tar.gz
Algorithm Hash digest
SHA256 0970502cbbb32bf10d9b795870733ab3743fbb2d4bda9a2daf4308d43f97fd19
MD5 6ab8269ffafff722cfaf27f1c1b2ea87
BLAKE2b-256 9ad6a0a4f39954741d95f746bffc7f83fd6d0f5eb5694fd2c25a0bfb40dea35c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fluentpyside-0.1.1-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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a9162810ad33def4cfa6c26b7e4fdcc1ca5a89453ea991b0a04e43b42e185457
MD5 93377ffecf9bcb7056e55f0175b77221
BLAKE2b-256 e11816e83e48fc2978b6a7d91e3e5e1993a7d276fa39f150e1dfe57f5fd96f66

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