pyqt-reactive
Reactive, ObjectState-backed forms and reusable application infrastructure for PyQt6.
Quick start
ParameterFormManager renders an existing ObjectState. The state is the
model; the form is a view over it.
from dataclasses import dataclass
from PyQt6.QtWidgets import QApplication
from objectstate import ObjectState, set_base_config_type
from pyqt_reactive.forms.parameter_form_manager import (
FormManagerConfig,
ParameterFormManager,
)
from pyqt_reactive.theming import ColorScheme
@dataclass
class ProcessingConfig:
input_path: str = ""
num_workers: int = 4
enable_gpu: bool = False
app = QApplication([])
set_base_config_type(ProcessingConfig)
state = ObjectState(ProcessingConfig(), scope_id="processing")
form = ParameterFormManager(
state,
config=FormManagerConfig(color_scheme=ColorScheme()),
)
form.show()
app.exec()
Do not pass a dataclass type or instance directly to
ParameterFormManager. Create ObjectState(instance) so edits, dirty
tracking, hierarchy, and cross-window updates share one authority.
Ownership
pyqt-reactive owns generic widget protocols and strategies, form lifecycle, field-change dispatch, reusable services and managers, previews, animations, and window infrastructure. Host applications own domain workflows and adapters.
Installation
python -m pip install pyqt-reactive
For development:
git clone https://github.com/OpenHCSDev/PyQT-reactive.git
cd PyQT-reactive
python -m pip install -e ".[dev]"
Full documentation: pyqt-reactive.readthedocs.io
Metadata
Release files for pyqt-reactive 0.7.0
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_reactive-0.7.0.tar.gz | 659.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyqt_reactive-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / pyqt_reactive-0.7.0.tar.gz
| Download URL | pyqt_reactive-0.7.0.tar.gz |
|---|---|
| Size | 659.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8eeba23f49adb234208ae5a19d6ada81a52adb4f5d0e94c59244de692bed7a3a
|
|
BLAKE2b-256 checksum How to use checksums |
cee42ad4f13ae57ca9793446a1a3c6e9d68cc29625b872722b4bad878a6cd9b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / pyqt_reactive-0.7.0-py3-none-any.whl
| Download URL | pyqt_reactive-0.7.0-py3-none-any.whl |
|---|---|
| Size | 533.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32a06273b32a3eadee190461e0af6b91302f7174412c0d02edfdf87ad7fa7749
|
|
BLAKE2b-256 checksum How to use checksums |
3f5e5e7d2960a67522bd1f6261d965ca194fe1a074e537cacc087c8eb7c43aa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|