code: def _compute_zones_sizes(self):
          
          # Left panels
          left = 0
          for panel in self.panels_for_zone(Panel.Position.LEFT):
              if not panel.isVisible():
                  continue
              size_hint = panel.sizeHint()
              left += size_hint.width()
          # Right panels
          right = 0
          for panel in self.panels_for_zone(Panel.Position.RIGHT):
              if not panel.isVisible():
                  continue
              size_hint = panel.sizeHint()
              right += size_hint.width()
          # Top panels
          top = 0
          for panel in self.panels_for_zone(Panel.Position.TOP):
              if not panel.isVisible():
                  continue
              size_hint = panel.sizeHint()
              top += size_hint.height()
          # Bottom panels
          bottom = 0
          for panel in self.panels_for_zone(Panel.Position.BOTTOM):
              if not panel.isVisible():
                  continue
              size_hint = panel.sizeHint()
              bottom += size_hint.height()
          self._top, self._left, self._right, self._bottom = (
              top, left, right, bottom)
          return bottom, left, right, top
docs: Compute panel zone sizes.