Collection of PyQt/PySide widgets/tools
Project Links
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.
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.
Apr 09, 2025
2025.4.9.2
Sep 12, 2024
2024.9.3
Sep 06, 2024
2024.9.2
Sep 06, 2024
2024.9.1
Sep 06, 2024
1.2.8
Jul 16, 2024
1.2.7
May 08, 2024
1.2.5
May 07, 2024
1.2.3
May 06, 2024
1.2.1
Apr 30, 2024
1.2.0
Jan 11, 2024
1.1.2
Dec 29, 2023
1.1.0