code: def start(self):
          
          if self._running:
              raise RuntimeError('Component {} is already running'.format(
                  self._owner.__class__.__name__))
          self._running = True
          self.queue_command(self._owner.start_event)
          # process any events that arrived before we started
          while self._incoming:
              self.queue_command(self._incoming.popleft())
docs: Start the component's event loop (thread-safe).
  
          After the event loop is started the Qt thread calls the
          component's :py:meth:`~Component.start_event` method, then calls
          its :py:meth:`~Component.new_frame_event` and
          :py:meth:`~Component.new_config_event` methods as required until
          :py:meth:`~Component.stop` is called. Finally the component's
          :py:meth:`~Component.stop_event` method is called before the
          event loop terminates.