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`.
docstr: Create solver and basic grid parameters.
docstr_tok: ["Create","solver","and","basic","grid","parameters","."]
code: def __init__(self, spacing=6, **kwargs):
      """Create solver and basic grid parameters."""
      self._next_cell = [0, 0]  # row, col
      self._cells = {}
      self._grid_widgets = {}
      self.spacing = spacing
      self._n_added = 0
      self._default_class = (
          ViewBox  # what to add when __getitem__ is used
      )
      self._solver = Solver()
      self._need_solver_recreate = True
  
      # width and height of the Rect used to place child widgets
      self._var_w = Variable("w_rect")
      self._var_h = Variable("h_rect")
  
      self._width_grid = None
      self._height_grid = None
  
      # self._height_stay = None
      # self._width_stay = None
  
      Widget.__init__(self, **kwargs)
  
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 1 to create a new Grid object from inherited base classes: Widget with example: obj = Grid(spacing)