pyqt-liquidglass

PyPI version Python Version License: MIT

macOS Liquid Glass effects for PySide6 and PyQt6.

Screenshot

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.

License

MIT

Description
Simple library for PyQt to add macOS liquid glass effect
Readme 3.4 MiB
Languages
Python 100%