Skip to main content

PyQt Frameless window to inherit a variety of frameless widget

Project description

pyqt-frameless-window

PyQt frameless window

Requirements

Setup

python -m pip install pyqt-frameless-window

Detailed Description

This is the empty window which has no frame. It looks nothing special, but it has a great feature.

It can be movable and resizable. That's not the only feature.

When you place the mouse cursor over the edge of the window, mouse cursor's shape will turn into one of those below based on direction of edge.

CursorShape in Qt Documentations

  • Qt.SizeVerCursor

  • Qt.SizeHorCursor

  • Qt.SizeBDiagCursor

  • Qt.SizeFDiagCursor

The window's minimum size is set to inner widget's recommended minimum size.

You can use this as a parent class if you want to make movable, resizable frameless window. This is no use on its own.

If you want to customize the title bar easily than use pyqt-custom-titlebar-setter, which also uses the pyqt-frameless-window.

If you don't need any title bar or min/max/close buttons or something like that, just use this as a parent class of your widget.

It can expand vertically when double-clicking the top or bottom edge of the window. Minor bug still remains, but it is not fatal at all.

Method Overview

  • setResizable(f: bool) - Set resizable/none-resizable

  • isResizable() -> bool - Check if window is resizable or not

  • setPressToMove(f: bool) - Set movable/non-movable

  • isPressToMove() -> bool - Check if window is movable or not

  • setMargin(margin: int) - Set the margin which allows cursor to change its shape to resize form

  • setFrameColor(color) - Set the background color. color argument type can be both QColor and str.

Example

Code Sample

from PyQt5.QtWidgets import QApplication

from pyqt_frameless_window import FramelessWindow





if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    ex = FramelessWindow()

    ex.show()

    sys.exit(app.exec_())

Result

image

Try to move and resize it.

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

pyqt-frameless-window-0.0.4.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

pyqt_frameless_window-0.0.4-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pyqt-frameless-window-0.0.4.tar.gz.

File metadata

  • Download URL: pyqt-frameless-window-0.0.4.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 CPython/3.7.6

File hashes

Hashes for pyqt-frameless-window-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3c8f2c269966052d602487c63784417b91694dc9157d6494395592a4b0897e00
MD5 8ee003615e539be4fcc037009fd5f077
BLAKE2b-256 477edb8262336b4482d20d1d0069ad333984968fa7186d58e3fd0554579db63d

See more details on using hashes here.

File details

Details for the file pyqt_frameless_window-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for pyqt_frameless_window-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4bac6993d22da22e97c41c8e80e4fbb54c537712be7342c38f82a14bda95a819
MD5 ec43e16a663b1b4668e28adc7fa58b59
BLAKE2b-256 acc47c1e3e638d41e97234561d9594b94751ed5e06aaf4ecb5aa8687bc6b91ca

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