pyqt-ext 2025.4.9.2


pip install pyqt-ext

  Latest version

Released: Apr 09, 2025


Meta
Author: Marcel Goldschen-Ohm
Requires Python: >=3.10

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers

License
  • OSI Approved :: MIT License

Programming Language
  • Python :: 3 :: Only

pyqt-ext

Collection of PyQt/PySide widgets/tools.

GitHub Tag build-test GitHub Release publish

The goal of this repo is to provide useful extensions to PyQt all in one place. There are several other PyQt extensions out there, but to my knowledge all of these are very limited in scope. Given this goal, I encourage everyone to contribute your own extensions to this repo!

In addition to being useful out-of-the-box, you may find these tools to be helpful templates for rolling your own custom widgets.

Install

Requires a PyQt package. Should work with PySide6, PyQt6, or PyQt5.

pip install PySide6

Install latest release version:

pip install pyqt-ext

Or install latest development version:

pip install pyqt-ext@git+https://github.com/marcel-goldschen-ohm/pyqt-ext

Documentation

:construction:

  • tree/
    • Abstract tree model/view interface [code] [example]: Because who wants to go through the pain of deciphering Qt's convoluted tree model/view design which is infuriating each and every time you work with it. Includes drag-n-drop moving within a tree. See example for a custom tree using this interface.
    • (Key, Value) tree model/view [code] [example]: Tree model/view for (key, value) pairs in a dict or list (keys are list indices). Can be nested to any level. Uses the abstract tree interface above.
  • utils/
    • Color [code]: QColor conversions.
  • widgets/
    • Collapsible section [code] [example]: Widget with header that can be toggled to expand/collapse a layout.
    • Color selection button [code] [example]: Tool button that displays selected color and opens color selection dialog on click.
    • Multi-value spinbox [code] [example]: Spin box allowing multiple selected values and value ranges. Works with string values too.
    • Table widget with copy/paste [code]: QTableWidget with copy/paste to/from clipboard.

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras: None
Dependencies:
numpy (>=1.26.2)
qtpy (>=2.4.1)
qtawesome (>=1.4.0)