docs: def widgets(self, include_clones=False):
          """
          Recursively gets the list of widgets.
  
          :param include_clones: True to retrieve all tabs, including clones,
              otherwise only original widgets are returned.
          """
          widgets = []
          for i in range(self.main_tab_widget.count()):
              widget = self.main_tab_widget.widget(i)
              try:
                  if widget.original is None or include_clones:
                      widgets.append(widget)
              except AttributeError:
                  pass
          for child in self.child_splitters:
              widgets += child.widgets(include_clones=include_clones)
          return widgets