class_docstr: ParameterTree item with:
  
    * label in second column for displaying value
    * simple widget for editing value (displayed instead of label when item is selected)
    * button that resets value to default
  
  This class can be subclassed by overriding makeWidget() to provide a custom widget.
class_docstr_tok: ["ParameterTree","item","with",":","*","label","in","second","column","for","displaying","value","*","simple","widget","for","editing","value","(","displayed","instead","of","label","when","item","is","selected",")","*","button","that","resets","value","to","default","This","class","can","be","subclassed","by","overriding","makeWidget","(",")","to","provide","a","custom","widget","."]
docstr: Called when any options are changed that are not
  name, value, default, or limits
docstr_tok: ["Called","when","any","options","are","changed","that","are","not","name",",","value",",","default",",","or","limits"]
code: def optsChanged(self, param, opts):
      """Called when any options are changed that are not
      name, value, default, or limits"""
      ParameterItem.optsChanged(self, param, opts)
  
      if "enabled" in opts:
          self.updateDefaultBtn()
          self.widget.setEnabled(opts["enabled"])
  
      if "readonly" in opts:
          self.updateDefaultBtn()
  
          if opts["readonly"]:
              self.displayLabel.setTextInteractionFlags(
                  QtCore.Qt.TextInteractionFlag.TextSelectableByMouse
              )
          else:
              self.displayLabel.setTextInteractionFlags(
                  QtCore.Qt.TextInteractionFlag.LinksAccessibleByMouse
              )
  
          if hasattr(self.widget, "setReadOnly"):
              self.widget.setReadOnly(opts["readonly"])
          else:
              self.widget.setEnabled(
                  self.param.opts["enabled"] and not opts["readonly"]
              )
  
      if "tip" in opts:
          self.widget.setToolTip(opts["tip"])
  
imports: import builtins
  from ...None import functions
  from ...None import icons
  from ...Qt import QtCore, QtGui, QtWidgets, mkQApp
  from ..Parameter import Parameter
  from ..ParameterItem import ParameterItem
label_desc: Use image node_id 19 for calling the WidgetParameterItem obj's underlying member method code with example usage: obj.optsChanged(param, opts) without return types