PySide6-Frameless-Window
A cross-platform frameless window based on PySide6
Features
- Moving
- Stretching
- Window shadow
- Window animation
- Win11 snap layout
- Win10 acrylic blur
- Win11 mica blur
- Win7 Aero blur
- MacOS blur
Install
To install use pip:
pip install PySideSix-Frameless-Window
Or clone the repo:
git clone -b PySide6 https://github.com/zhiyiYo/PyQt-Frameless-Window.git
python setup.py install
Requirements
| Platform | Requirement |
|---|---|
| Win32 | pywin32 |
| MacOS | pyobjc |
Usage
To use the frameless window, you only need to inherit FramelessWindow or FramelessMainWindow. Here is a minimal example:
import sys
from PySide6.QtWidgets import QApplication
from qframelesswindow import FramelessWindow
class Window(FramelessWindow):
def __init__(self, parent=None):
super().__init__(parent=parent)
self.setWindowTitle("PySide6-Frameless-Window")
self.titleBar.raise_()
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Window()
demo.show()
app.exec()
For more complex requirements, see demo.py and main_window.py.
Examples
- Normal frameless window
- Acrylic frameless window
Document
Want to know more about PySide6-Frameless-Window? Please read the help document 👈
Notes
-
FramelessWindowprovides a default custom title bar. If you don't like it, just rewrite it as demo.py does. -
Moving the acrylic window on Win10 may get stuck. At present, there is no good solution. Maybe you can disable the acrylic effect when moving the window, but I haven't done this in the source code.
-
Snap layout is not enabled by default. See #56 to learn how to enable it.
-
If you encounter this problem on Windows:
ImportError: DLL load failed while importing win32api
see my answer on stackoverflow or my blog for the solution.
-
If you are using PySide2, PyQt5 or PyQt6, you can download the code in PySide2, PyQt5 or PyQt6 branch.
See Also
Here are some projects that use PyQt-Frameless-Window:
- zhiyiYo/Groove: A cross-platform music player based on PyQt5
- zhiyiYo/Alpha-Gobang-Zero: A gobang robot based on reinforcement learning
- zhiyiYo/PyQt-Fluent-Widgets: A fluent design widgets library based on Qt
- zhiyiYo/QMaterialWidgets: A material design widgets library based on Qt
Reference
- wangwenx190/framelesshelper: Frameless windows for Qt Widgets and Qt Quick applications. Support Win32, X11, Wayland and macOS
- libxcb: Basic Graphics Programming With The XCB Library
License
PySide6-Frameless-Window is licensed under LGPLv3.
Copyright © 2021 by zhiyiYo.
Metadata
Release files for PySideSix-Frameless-Window-Fix 0.3.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| PySideSix-Frameless-Window-Fix-0.3.9.tar.gz | 20.8 kB | Details |
Release files / PySideSix-Frameless-Window-Fix-0.3.9.tar.gz
| Download URL | PySideSix-Frameless-Window-Fix-0.3.9.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50912638089e2739ab76344f0a5c3d8dda06dcacff6044bc3a0e91a655da3303
|
|
BLAKE2b-256 checksum How to use checksums |
65e065995be605d3d817508fd9b405ed5d540a1c352cb544849f97ba0e15a30d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|