code: def makeWidget(self):
      param = self.param
      opts = param.opts
      opts.setdefault("limits", [0, 0])
      self._suffix = opts.get("suffix")
  
      self.slider = QtWidgets.QSlider()
      self.slider.setOrientation(QtCore.Qt.Orientation.Horizontal)
      lbl = self.sliderLabel = QtWidgets.QLabel()
      lbl.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft)
  
      w = QtWidgets.QWidget()
      layout = QtWidgets.QHBoxLayout()
      w.setLayout(layout)
      layout.addWidget(lbl)
      layout.addWidget(self.slider)
  
      def setValue(v):
          self.slider.setValue(self.spanToSliderValue(v))
  
      def getValue():
          return self.span[self.slider.value()].item()
  
      self.slider.valueChanged.connect(self.updateDisplayLabel)
  
      def onMove(pos):
          self.sigChanging.emit(self, self.span[pos].item())
  
      self.slider.sliderMoved.connect(onMove)
  
      w.setValue = setValue
      w.value = getValue
      w.sigChanged = self.slider.valueChanged
      w.sigChanging = self.sigChanging
      self.optsChanged(param, opts)
      return w
  
file_path: pyqtgraph/pyqtgraph/parametertree/parameterTypes/slider.py
imports: import numpy
  from ...Qt import QtCore, QtWidgets
  from ..Parameter import Parameter
  from .basetypes import Emitter, WidgetParameterItem
label_desc: Use image node_id 4 for calling the SliderParameterItem obj's underlying member method code with example usage: obj.makeWidget() and returns: w, self