v0.1.0
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
Languages
Python
100%
