pyqt-ext
Collection of PyQt/PySide widgets/tools.
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. Note: pyqtgraph is incompatible with PySide6=6.9.1
pip install "PySide6 >=6.2.2,!=6.9.1"
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.
Dev notes
For PDM lockfile:
pdm lock --strategy cross_platform
Metadata
Release files for pyqt-ext 2025.11.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyqt_ext-2025.11.12.tar.gz | 40.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyqt_ext-2025.11.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.1 kB
Release files / pyqt_ext-2025.11.12.tar.gz
| Download URL | pyqt_ext-2025.11.12.tar.gz |
|---|---|
| Size | 40.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
04cc2a142f8b31f82a3584aa438693e289e8d20ac5a118649b9828296837d527
|
|
BLAKE2b-256 checksum How to use checksums |
f268037f93219fe1fef12cfc2080aedf7f23fd330e4610946a86c0b09a1884c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|
Release files / pyqt_ext-2025.11.12-py3-none-any.whl
| Download URL | pyqt_ext-2025.11.12-py3-none-any.whl |
|---|---|
| Size | 53.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
034b7fa7bb2450662d798ff861afeb2b2f1871e19928c1c4c96ed549a20ff79a
|
|
BLAKE2b-256 checksum How to use checksums |
eb7b989a013dabd995a0b670e698a8c1ba55cf878b704569a41cef2b55239035
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|