Create modern WinUI3-style desktop UIs in Python effortlessly using PySide6 and QtWebEngine.
Project description
PyWebWinUI3
PyWebWinUI3 is a project that helps you easily build WinUI3-style desktop UIs in Python using PySide6, QtWebEngine, and Svelte.
Features
- Modern and intuitive WinUI3-style UI components
- Rapid desktop app development with Python
- Frameless desktop window powered by Qt
- Svelte-based frontend integration through
QWebChannel - Custom fonts and Fluent icon support
- Static frontend bundle loading without a local HTTP server
Installation & Build
You can install PyWebWinUI3 directly from PyPI:
pip install PyWebWinUI3
Usage
You can define your UI using XAML files and control the app with Python. See the example/ folder for more details.
Minimal Example
from pywebwinui3.core import MainWindow
app = MainWindow("PyWebWinUI3", "./app.ico")
app.addSettings("Settings.xaml")
app.addPage("Dashboard.xaml")
app.addPage("Test.xaml")
# Set values for UI bindings
app.values["system.theme"] = "dark"
app.start()
XAML Example (Settings.xaml)
<Page path="settings" icon="\ue713" name="Settings" title="Settings">
<Box>
<Horizontal>
<Text>App theme</Text>
<Space />
<Select value="system.theme">
<Option value="dark">Dark</Option>
<Option value="light">Light</Option>
<Option value="system">Use system setting</Option>
</Select>
</Horizontal>
</Box>
<!-- ...more UI elements... -->
</Page>
More
- See
example/example.pyand the XAML files inexample/for advanced usage. - The desktop shell is now based on PySide6 + QtWebEngine, so
PySide6must be available in your environment.
Contributing
- PRs and issues are welcome!
- You can contribute Svelte components, Python modules, UI improvements, and more.
License
Apache-2.0
This README was generated using AI (GitHub Copilot).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pywebwinui3-1.0.0.tar.gz.
File metadata
- Download URL: pywebwinui3-1.0.0.tar.gz
- Upload date:
- Size: 3.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41cf7071ee4a0c9ebdb2859bea8202dad308643274b7127051fb288a2eae9b17
|
|
| MD5 |
4b18b79fc931e4afeac5bb10c07aa177
|
|
| BLAKE2b-256 |
4daee66dc72684efa3ce3098ebd93e2f541a3beef838d44896f1796cc7e0ff20
|
File details
Details for the file pywebwinui3-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pywebwinui3-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b855eb7381c49c13aa50fc2c6cdc2c1a6ba2f183ba8d9d2fd2d15c7fdb795147
|
|
| MD5 |
da11bdb390a385a7f4f658a89c02fc06
|
|
| BLAKE2b-256 |
65b51b9c057e61591ee7c9b980b5a72d5cc5b8016e754c27a1a75933867399cc
|