macOS Liquid Glass effects for PySide6 and PyQt6
Project description
pyqt-liquidglass
macOS Liquid Glass effects for PySide6 and PyQt6.
Overview
pyqt-liquidglass provides a Python API to apply Apple's native glass visual effects to Qt windows and widgets. On macOS 26+, it uses NSGlassEffectView for Liquid Glass. On older versions, it falls back to NSVisualEffectView.
Features
- Apply glass effects to entire windows or specific widgets
- Configure corner radius, padding, and materials
- Reposition, hide, or show window traffic lights
- Automatic Qt binding detection (PySide6, PyQt6)
- Safe no-ops on non-macOS platforms
Installation
pip install pyqt-liquidglass
Or with uv:
uv add pyqt-liquidglass
Quick Start
from PySide6.QtWidgets import QApplication, QMainWindow
import pyqt_liquidglass as glass
app = QApplication([])
window = QMainWindow()
window.resize(800, 600)
# Prepare before showing
glass.prepare_window_for_glass(window)
window.show()
# Apply glass after showing
glass.apply_glass_to_window(window)
app.exec()
Sidebar Pattern
# Apply glass to a sidebar widget
glass.apply_glass_to_widget(sidebar, options=glass.GlassOptions.sidebar())
# Position traffic lights
glass.setup_traffic_lights_inset(window, x_offset=18, y_offset=12)
Custom Options
options = glass.GlassOptions(
corner_radius=16.0,
padding=(10, 10, 10, 10),
)
glass.apply_glass_to_window(window, options=options)
Requirements
- Python 3.12+
- macOS
- PySide6 or PyQt6
Tested with PySide6. PyQt6 should work but is not explicitly tested.
Documentation
Full documentation: pyqt-liquidglass.readthedocs.io
License
MIT
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 pyqt_liquidglass-0.1.0.tar.gz.
File metadata
- Download URL: pyqt_liquidglass-0.1.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b0b5f7f302b70236f653d0362910b9c94898942b8befeb80fb3822625d86fee
|
|
| MD5 |
388dabcfc39064e0d88a9738c563f223
|
|
| BLAKE2b-256 |
04915d12e7494138a55e807cb09f5297920ce4d84411eb3156aeb068804a75b7
|
File details
Details for the file pyqt_liquidglass-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyqt_liquidglass-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd41bff4df4ee9b61de454fb220a36ace2f25de804525161f5ab82dd9113ce53
|
|
| MD5 |
6514b35585cb0f4bab3b12bb6ef047cc
|
|
| BLAKE2b-256 |
3e067e3195c45e3cf44fee89ffd18e03e5afbc57632bacdddf7a597bac7fe59a
|