class_docstr: Widget used to display or control data from a hierarchy of Parameters
class_docstr_tok: ["Widget","used","to","display","or","control","data","from","a","hierarchy","of","Parameters"]
code: def sizeHint(self):
      w, h = 0, 0
      ind = self.indentation()
      for x in self.listAllItems():
          if x.isHidden():
              continue
          try:
              depth = x.depth
          except AttributeError:
              depth = 0
  
          s0 = x.sizeHint(0)
          s1 = x.sizeHint(1)
          w = max(
              w, depth * ind + max(0, s0.width()) + max(0, s1.width())
          )
          h += max(0, s0.height(), s1.height())
          # typ = x.param.opts['type'] if isinstance(x, ParameterItem) else x
          # print(typ, depth * ind, (s0.width(), s0.height()), (s1.width(), s1.height()), (w, h))
  
      # todo: find out if this alternative can be made to work (currently fails when color or colormap are present)
      # print('custom', (w, h))
      # w = self.sizeHintForColumn(0) + self.sizeHintForColumn(1)
      # h = self.viewportSizeHint().height()
      # print('alternative', (w, h))
  
      if not self.header().isHidden():
          h += self.header().height()
  
      return QtCore.QSize(w, h)
  
file_path: pyqtgraph/pyqtgraph/parametertree/ParameterTree.py
imports: from .parameterTypes import GroupParameterItem
  from ..Qt import QtCore, QtWidgets, mkQApp
  from ..widgets.TreeWidget import TreeWidget
  from .ParameterItem import ParameterItem
label_desc: Use image node_id 14 for calling the ParameterTree obj's underlying member method code with example usage: obj.sizeHint() and returns: QtCore