Skip to content

qtframelesskit

qtframelesskit logo

Modern, cross-Qt frameless window framework for Windows in pure Python.

PyPI Version Python Versions PySide6 PyQt6 Platform License


qtframelesskit Windows 11 Showcase

Welcome to qtframelesskit

qtframelesskit is a lightweight, pure-Python framework designed to build native-feeling frameless windows in Qt on Windows. It works seamlessly across PySide6, PyQt6, and PyQt5 via qtpy, with zero C++ compilation or binary wheel requirements.


Why Standard Qt Frameless Windows Fall Short

In standard Qt applications, developers typically create a borderless window using:

window.setWindowFlags(Qt.WindowType.FramelessWindowHint)

While this removes the operating system's title bar, it strips away fundamental Windows Desktop Window Manager (DWM) capabilities:

Lost OS Feature Impact on Standard Qt Frameless Windows How qtframelesskit Solves It
DWM Drop Shadows The window becomes flat; developers must emulate shadows by drawing blurry margins in software. Retains true native DWM drop shadows via non-client frame calculation (WM_NCCALCSIZE).
Snap Layouts Menu Hovering over custom maximize buttons does nothing on Windows 11. Full Windows 11 Snap Layouts integration via WM_NCHITTEST and HTMAXBUTTON.
Smooth Resize Borders Edge resizing requires manual mouse tracking, often resulting in jerky, unaccelerated resizing. Hardware-accelerated native Win32 resize borders with proper cursors and constraints.
System Animations Windows lose standard minimize, restore, Aero Shake, and maximize animations. Retains full DWM system animations and transitions.
Taskbar Collision Maximized frameless windows often overlap the Windows taskbar. Accurately calculates work area boundaries to avoid taskbar overlap.
Fluent Materials Cannot easily apply native Windows 11 Mica or Acrylic backdrops. First-class support for Mica, Mica Alt, and Acrylic blur-behind backdrops.

qtframelesskit restores these native Win32 window mechanics through ctypes and pywin32 while keeping the Qt widget API clean, idiomatic, and non-invasive.


Key Capabilities

  • Windows 11 Snap Layouts


    Hovering over the maximize button triggers the native Windows 11 Snap Layouts flyout menu. Snapping windows into grid layouts works out of the box.

    Learn about Snap Layouts

  • Mica & Acrylic Backdrops


    Native Windows 11 Mica, Mica Alt (tabbed surfaces), and Fluent Acrylic blur-behind materials with customizable tint gradients.

    Explore Materials & Styling

  • TitleBar with Integrated QMenuBar


    Embed a standard QMenuBar directly into the custom title bar with automated Fluent styling, centered titles, and vector control buttons.

    Explore TitleBar

  • Comprehensive Window Types


    Drop-in replacements for QMainWindow, QWidget, and QDialog that automatically configure frameless layouts and event filtering.

    View Window Types


Windows Compatibility

qtframelesskit automatically detects the host Windows OS build at runtime and gracefully enables modern features or falls back to supported behavior:

Feature Windows 11 22H2+
Build >= 22621
Windows 11 21H2
Build >= 22000
Windows 10 1809+
Build >= 17763
Frameless DWM Drop Shadows Full Full Full
Snap Layouts Hover Menu Full Full —
DWM Rounded Corners Full Full —
Mica Material Full Full —
Mica Alt (Tabbed Material) Full — —
Acrylic Blur-Behind Full Full Full
Dark / Light Theme Sync Full Full Full
Per-Monitor DPI Scaling Full Full Full

Platform Requirement

qtframelesskit relies on native Windows APIs (dwmapi.dll, user32.dll). On non-Windows platforms (Linux, macOS), importing qtframelesskit raises PlatformNotSupportedError.


Quick Navigation