qtextra
Extra widgets and dialogs for PyQt/PySide via qtpy
qtextra packages reusable Qt widgets, dialogs, and helpers that sit on top of
PyQt/PySide through qtpy. The library
focuses on opinionated, application-level building blocks such as searchable
comboboxes, step progress indicators, styled buttons, collapsible sections, and
utility dialogs.
Components are tested on:
- macOS, Windows & Linux
- Python 3.10 and above
- PyQt5 (5.11 and above) & PyQt6
- PySide2 (5.11 and above) & PySide6
The project overlaps somewhat with superqt,
but it leans more heavily into application-ready widgets and bundled styling in
src/qtextra/assets/stylesheets.
Documentation
Documentation is available at https://lukasz-migas.github.io/qtextra/
Installation
pip install qtextra
Optional extras:
pip install "qtextra[console,sentry]"
Quick Start
from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
from qtextra.config import THEMES
from qtextra.widgets.qt_collapsible import QtCheckCollapsible
from qtextra.widgets.qt_progress_step import QtStepProgressBar
app = QApplication([])
window = QWidget()
layout = QVBoxLayout(window)
steps = QtStepProgressBar()
steps.labels = ["Load", "Validate", "Export"]
steps.value = 2
layout.addWidget(steps)
details = QtCheckCollapsible("Advanced options")
details.addRow("Status", QWidget())
layout.addWidget(details)
THEMES.apply(window)
window.show()
app.exec_()
A larger showcase example is available at examples/qt_readme_showcase.py.
Documentation
- Automatic widget generation:
docs/auto.md - Mixins reference:
docs/mixins.md - User guides:
docs/ - Widgets overview:
docs/widgets/index.md - Dialogs overview:
docs/dialogs/index.md - Examples:
examples/
Contributing
Contributions are always welcome. Please feel free to submit PRs with new features, bug fixes, or documentation improvements.
git clone https://github.com/lukasz-migas/qtextra.git
pip install -e ".[dev]"
pytest
Metadata
Release files for qtextra 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qtextra-0.2.2.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qtextra-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.3 MB
Release files / qtextra-0.2.2.tar.gz
| Download URL | qtextra-0.2.2.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
252d693ac44c2a50b4f32a1cc351bc46f761065a438c1455d5456fdc56ebb094
|
|
BLAKE2b-256 checksum How to use checksums |
bc92757ce06c12dff6cc8bfd74a75cb1af4a43faae00cb7f4957d2f67408e4d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / qtextra-0.2.2-py3-none-any.whl
| Download URL | qtextra-0.2.2-py3-none-any.whl |
|---|---|
| Size | 912.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3bbb5bebbb22765e2c269da3148bed35b65e3fef1c3dc43ced66a30e5edcf97
|
|
BLAKE2b-256 checksum How to use checksums |
40dd3bf59a7cb1dc776a495c334c41427348cf2837efd3aa9a0a81d70a0be5b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|