feat(*): implement v0.1.0, add docs
This commit is contained in:
84
README.md
Normal file
84
README.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# pyqt-liquidglass
|
||||
|
||||
[](https://www.python.org/downloads/)
|
||||
[](LICENSE.md)
|
||||
|
||||
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
|
||||
|
||||
```bash
|
||||
pip install pyqt-liquidglass
|
||||
```
|
||||
|
||||
Or with uv:
|
||||
|
||||
```bash
|
||||
uv add pyqt-liquidglass
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
```python
|
||||
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
|
||||
|
||||
```python
|
||||
# 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
|
||||
|
||||
```python
|
||||
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
|
||||
Reference in New Issue
Block a user