class_docstr: Subclasses `WidgetParameterItem` to provide the following types:
  
  ==========================  =============================================================
  **Registered Types:**
  int                         Displays a :class:`SpinBox <pyqtgraph.SpinBox>` in integer
                              mode.
  float                       Displays a :class:`SpinBox <pyqtgraph.SpinBox>`.
  ==========================  =============================================================
code: def optsChanged(self, param, opts):
      super().optsChanged(param, opts)
      sbOpts = {}
      if "units" in opts and "suffix" not in opts:
          sbOpts["suffix"] = opts["units"]
      for k, v in opts.items():
          if k in self.widget.opts:
              sbOpts[k] = v
      self.widget.setOpts(**sbOpts)
      self.updateDisplayLabel()
  
file_path: pyqtgraph/pyqtgraph/parametertree/parameterTypes/numeric.py
imports: from ...widgets.SpinBox import SpinBox
  from .basetypes import WidgetParameterItem
label_desc: Use image node_id 5 for calling the NumericParameterItem obj's underlying member method code with example usage: obj.optsChanged(param, opts) without return types