class_docstr: Widget for proportionally dividing its internal area into a grid.
  
  This widget will automatically set the position and size of child widgets
  according to provided constraints.
  
  Parameters
  ----------
  spacing : int
      Spacing between widgets.
  **kwargs : dict
      Keyword arguments to pass to `Widget`.
code: def _widget_grid(self):
      ymax, xmax = self.grid_size
      widget_grid = np.array(
          [[None for _ in range(0, ymax)] for _ in range(0, xmax)]
      )
      for _, val in self._grid_widgets.items():
          (y, x, ys, xs, widget) = val
          widget_grid[x : x + xs, y : y + ys] = widget
  
      return widget_grid
  
imports: from __future__ import division
  import numpy
  from vispy.geometry import Rect
  from .widget import Widget
  from .viewbox import ViewBox
  from kiwisolver import Solver, Variable, UnsatisfiableConstraint
label_desc: Use image node_id 21 for calling the Grid obj's underlying member method code with example usage: obj._widget_grid() and returns: widget_grid