Skip to main content

A cross-platform frameless window based on PyQt/PySide, support Win32, macOS and Linux.

Project description

logo

QtFramelessWindow

A cross-platform frameless window library based on QtPy (PyQt/PySide).

Platform Win32 | Linux | macOS Download LGPLv3

Cover

Features

  • Move
  • Stretching
  • Window shadow
  • Window animation
  • Win11 snap layout
  • Win10 acrylic blur
  • Win11 mica blur
  • Win7 Aero blur
  • MacOS blur
  • Disable screen capture

Install

To install use pip:

pip install QtFramelessWindow

Or clone the repo:

git clone https://github.com/XiaoshuDeXiaowo/QtFramelessWindow
cd QtFramelessWindow
pip install .

Requirements

Platform Requirement
Win32 pywin32
MacOS pyobjc

Usage

To use the frameless window, you only need to inherit FramelessWindow. Here is a minimal example:

import sys

from PySide2.QtWidgets import QApplication
from QtFramelessWindow import FramelessWindow


class Window(FramelessWindow):

    def __init__(self, parent=None):
       super().__init__(parent=parent)
       self.setWindowTitle("PyQt-Frameless-Window")
       self.titleBar.raise_()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Window()
    demo.show()
    sys.exit(app.exec_())

For more complex requirements, see examples.

Examples

  • Normal frameless window Normal Frameless Window
  • Acrylic frameless window Acrylic Frameless Window

Notes

  1. FramelessWindow provides a default custom title bar. If you don't like it, just rewrite it as demo.py does.

  2. 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.

  3. Snap layout is not enabled by default. See zhiyiYo/PyQt-Frameless-Window#56 to learn how to enable it.

  4. If you encounter this problem on Windows:

    ImportError: DLL load failed while importing win32api

    see zhiyiYo's answer on stackoverflow or blog for the solution.

See Also

Here are some projects that use PyQt-Frameless-Window:

Reference

License

QtFramelessWindow is licensed under LGPLv3.

Copyright © 2021-2026 by zhiyiYo. Copyright © 2026 XiaoshuDeXiaowo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtframelesswindow-0.0.1.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qtframelesswindow-0.0.1-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file qtframelesswindow-0.0.1.tar.gz.

File metadata

  • Download URL: qtframelesswindow-0.0.1.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for qtframelesswindow-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c496c6b6703abf32cf036e211a2c9129031b202633b9aa0bfc2bad81b1be654b
MD5 82ed6d964ece07db80f9c680ed8a4539
BLAKE2b-256 e09a025d5077e210ad90f0c8f39abb94daaa7a41e26afa3fc823e04743063b9c

See more details on using hashes here.

File details

Details for the file qtframelesswindow-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for qtframelesswindow-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6624ac947a2cc21c530b3160f65b6f1dc5e76b6598eb38ba0cb214889da764d
MD5 2708577d387cf44dc634691f0fc4f0ed
BLAKE2b-256 355b1e671edbc7f381c04c6c4db299f93094660e50cd96d095143ba388c5ee6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page