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.1
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.1.tar.gz | 659.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyqt_reactive-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / pyqt_reactive-0.7.1.tar.gz
| Download URL | pyqt_reactive-0.7.1.tar.gz |
|---|---|
| Size | 659.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d4ca554f7bbf1669715d679e011968705134538de1e183f4489bac2a5637020
|
|
BLAKE2b-256 checksum How to use checksums |
fa387164717a1e46927a6973bec0bced2b933ebe694f944ee4f5fa47c81208ed
|
| 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.1-py3-none-any.whl
| Download URL | pyqt_reactive-0.7.1-py3-none-any.whl |
|---|---|
| Size | 532.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c8c1e67a611eb0e96089acd24314b1eca8cbfc944eeb4f67abe80a40a007825
|
|
BLAKE2b-256 checksum How to use checksums |
ef500a992bb1341fdb24e8e51b88bed89002c9d4d86a6adda628f1c5be4f744c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|