MCPcopy
hub / github.com/PyQt5/PyQt / _setData

Method _setData

QTreeView/Lib/qmodelmapper.py:190–221  ·  view source on GitHub ↗
(self, *args, **kwargs)

Source from the content-addressed store, hash-verified

188 widget.blockSignals(False)
189
190 def _setData(self, *args, **kwargs):
191 sender = self.sender()
192 info = self._widgetkey.get(sender, {})
193 key = info.get("key", None)
194 prop: Union[QMetaProperty, None] = info.get("prop", None)
195 if key is None or prop is None:
196 return
197
198 value = prop.read(sender)
199 if value is not None:
200 if prop.name() == "dateTime":
201 value = value.toString("yyyy-MM-dd HH:mm:ss")
202 elif prop.name() == "html" and len(sender.property("plainText")) == 0:
203 value = ""
204
205 if value is None:
206 return
207
208 self._timer.start(self._delay)
209
210 # 更新关联的widget
211 for widget in self._keywidget.get(key, []):
212 if widget != sender:
213 if self.Debug:
214 print(f"view to view({widget}) = {value}")
215 self._setValue(widget, key, value, updated=True, block=True)
216
217 # 更新关联的model
218 if self.Debug:
219 print(f"view({sender}) to model = {value}")
220 if not self._model.updateValue(key, value):
221 return
222
223 def onItemDataChanged(
224 self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: List[int]

Callers

nothing calls this directly

Calls 4

_setValueMethod · 0.95
nameMethod · 0.80
startMethod · 0.45
updateValueMethod · 0.45

Tested by

no test coverage detected