MCPcopy Create free account
hub / github.com/PyQt5/PyQt / QJsonItem

Class QJsonItem

QTreeView/Lib/qjsonmodel.py:25–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23
24
25class QJsonItem(QStandardItem):
26 Sep = "/"
27 EditRole = Qt.EditRole
28 KeyRole = Qt.UserRole + 1
29 ValueRole = Qt.UserRole + 2
30 DatasRole = Qt.UserRole + 3
31 PathRole = Qt.UserRole + 4
32
33 def __init__(
34 self,
35 *args,
36 key: Union["QJsonItem", None] = None, # 上一级key item
37 value: Union["QJsonItem", None] = None, # 当前value item
38 editAble: bool = True,
39 role: int = Qt.UserRole + 1,
40 ):
41 super().__init__(*args)
42 self.setInfo(key, value, None, editAble, role)
43
44 def clear(self):
45 for _ in range(self.rowCount()):
46 self.removeRow(0)
47
48 def setInfo(
49 self,
50 key: Union["QJsonItem", None] = None,
51 value: Union["QJsonItem", None] = None,
52 datas: Any = None,
53 editAble: bool = True,
54 role: int = Qt.UserRole + 1,
55 edit=None,
56 ):
57 self.setEditable(editAble)
58 self._role = role
59 self.keyItem = key
60 self.valueItem = value
61 self.edit = edit
62 self.datas = datas
63
64 @property
65 def keyItem(self) -> Union["QJsonItem", None]:
66 # 上一级key item
67 item = self.data(self.KeyRole)
68 if not isinstance(item, QJsonItem):
69 return None
70 return item
71
72 @keyItem.setter
73 def keyItem(self, value: "QJsonItem") -> None:
74 self.setData(value, self.KeyRole)
75
76 @property
77 def valueItem(self) -> "QJsonItem":
78 # 当前value item
79 return self.data(self.ValueRole)
80
81 @valueItem.setter
82 def valueItem(self, value: "QJsonItem") -> None:

Callers 2

__loadDataMethod · 0.85
__createItemMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected