class_docstr: Widget for displaying hierarchical python data structures
  (eg, nested dicts, lists, and arrays)
code: def buildTree(self, data, parent, name="", hideRoot=False, path=()):
      if hideRoot:
          node = parent
      else:
          node = QtWidgets.QTreeWidgetItem([name, "", ""])
          parent.addChild(node)
  
      # record the path to the node so it can be retrieved later
      # (this is used by DiffTreeWidget)
      self.nodes[path] = node
  
      typeStr, desc, childs, widget = self.parse(data)
  
      # Truncate description and add text box if needed
      if len(desc) > 100:
          desc = desc[:97] + "..."
          if widget is None:
              widget = QtWidgets.QPlainTextEdit(str(data))
              widget.setMaximumHeight(200)
              widget.setReadOnly(True)
  
      node.setText(1, typeStr)
      node.setText(2, desc)
  
      # Add widget to new subnode
      if widget is not None:
          self.widgets.append(widget)
          subnode = QtWidgets.QTreeWidgetItem(["", "", ""])
          node.addChild(subnode)
          self.setItemWidget(subnode, 0, widget)
          subnode.setFirstColumnSpanned(True)
  
      # recurse to children
      for key, data in childs.items():
          self.buildTree(data, node, str(key), path=path + (key,))
  
file_path: pyqtgraph/pyqtgraph/widgets/DataTreeWidget.py
imports: import traceback
  import types
  from collections import OrderedDict
  import numpy
  from ..Qt import QtWidgets
  from .TableWidget import TableWidget
label_desc: Use image node_id 3 for calling the DataTreeWidget obj's underlying member method code with example usage: obj.buildTree(data, parent, name, hideRoot, path) without return types