Skip to main content

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.py and the XAML files in example/ for advanced usage.
  • The desktop shell is now based on PySide6 + QtWebEngine, so PySide6 must 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

This version

1.0.0

Download files

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

Source Distribution

pywebwinui3-1.0.0.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

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

pywebwinui3-1.0.0-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

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

Hashes for pywebwinui3-1.0.0.tar.gz
Algorithm Hash digest
SHA256 41cf7071ee4a0c9ebdb2859bea8202dad308643274b7127051fb288a2eae9b17
MD5 4b18b79fc931e4afeac5bb10c07aa177
BLAKE2b-256 4daee66dc72684efa3ce3098ebd93e2f541a3beef838d44896f1796cc7e0ff20

See more details on using hashes here.

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

Hashes for pywebwinui3-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b855eb7381c49c13aa50fc2c6cdc2c1a6ba2f183ba8d9d2fd2d15c7fdb795147
MD5 da11bdb390a385a7f4f658a89c02fc06
BLAKE2b-256 65b51b9c057e61591ee7c9b980b5a72d5cc5b8016e754c27a1a75933867399cc

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