class_docstr: Extends QTableWidget with some useful functions for automatic data handling
  and copy / export context menu. Can automatically format and display a variety
  of data types (see :func:`setData() <pyqtgraph.TableWidget.setData>` for more
  information.
code: def iteratorFn(self, data):
      ## Return 1) a function that will provide an iterator for data and 2) a list of header strings
      if isinstance(data, list) or isinstance(data, tuple):
          return lambda d: d.__iter__(), None
      elif isinstance(data, dict):
          return lambda d: iter(d.values()), list(map(str, data.keys()))
      elif hasattr(data, "implements") and data.implements("MetaArray"):
          if data.axisHasColumns(0):
              header = [
                  str(data.columnName(0, i))
                  for i in range(data.shape[0])
              ]
          elif data.axisHasValues(0):
              header = list(map(str, data.xvals(0)))
          else:
              header = None
          return self.iterFirstAxis, header
      elif isinstance(data, np.ndarray):
          return self.iterFirstAxis, None
      elif isinstance(data, np.void):
          return self.iterate, list(map(str, data.dtype.names))
      elif data is None:
          return (None, None)
      elif np.isscalar(data):
          return self.iterateScalar, None
      else:
          msg = "Don't know how to iterate over data type: {!s}".format(
              type(data)
          )
          raise TypeError(msg)
  
imports: import numpy
  from ..Qt import QtCore, QtGui, QtWidgets
label_desc: Use image node_id 7 for calling the TableWidget obj's underlying member method code with example usage: obj.iteratorFn(data) and returns: function,  None, function,  list, self,  header, self,  None, self,  list, None,  None, self,  None