| 57 | ) |
| 58 | |
| 59 | def __init__(self, *args, **kwargs): |
| 60 | self._delay = kwargs.pop("delay", 50) |
| 61 | data = kwargs.pop("data", {}) |
| 62 | super().__init__(*args, **kwargs) |
| 63 | self._old = deepcopy(data) |
| 64 | self._widgetkey = {} |
| 65 | self._keywidget = {} |
| 66 | self._timer = QTimer(self) |
| 67 | self._timer.setSingleShot(True) |
| 68 | self._timer.timeout.connect(self.valueChanged.emit) |
| 69 | self._model = QJsonModel(self.parent(), data=data) |
| 70 | self._model.dataChanged.connect(self.onItemDataChanged) |
| 71 | |
| 72 | def bind(self, widget: QWidget, key: str, default: Any = None, prop: str = ""): |
| 73 | if widget not in self._widgetkey: |