class_docstr: ParameterSystem is a subclass of GroupParameter that manages a tree of 
  sub-parameters with a set of interdependencies--changing any one parameter
  may affect other parameters in the system.
  
  See parametertree/SystemSolver for more information.
  
  NOTE: This API is experimental and may change substantially across minor 
  version numbers. 
code: def setSystem(self, sys):
      self._system = sys
  
      # auto-generate defaults to match child parameters
      defaults = {}
      vals = {}
      for param in self:
          name = param.name()
          constraints = ""
          if hasattr(sys, "_" + name):
              constraints += "n"
  
          if not param.readonly():
              constraints += "f"
              if "n" in constraints:
                  ch = param.addChild(
                      dict(name="fixed", type="bool", value=False)
                  )
                  self._fixParams.append(ch)
                  param.setReadonly(True)
                  param.setOpts(expanded=False)
              else:
                  vals[name] = param.value()
                  ch = param.addChild(
                      dict(
                          name="fixed",
                          type="bool",
                          value=True,
                          readonly=True,
                      )
                  )
                  # self._fixParams.append(ch)
  
          defaults[name] = [None, param.type(), None, constraints]
  
      sys.defaultState.update(defaults)
      sys.reset()
      for name, value in vals.items():
          setattr(sys, name, value)
  
      self.updateAllParams()
  
file_path: pyqtgraph/pyqtgraph/parametertree/ParameterSystem.py
imports: from ..None import functions
  from .parameterTypes import GroupParameter
  from .SystemSolver import SystemSolver
label_desc: Use image node_id 2 for calling the ParameterSystem obj's underlying member method code with example usage: obj.setSystem(sys) without return types