code: def _create_action(
              self,
              icon_name: Optional[str],
              title: str,
              slot_function: Callable[[None], None],
              tool_tip: Optional[str]=None)-> QAction:
          
          action = QAction(title, self)
          if icon_name:
              action.setIcon(QIcon.fromTheme(icon_name))
          action.triggered.connect(slot_function)
          if tool_tip:
              action.setToolTip(tool_tip)
          return action
docs: QAction factory. All items created belong to the calling instance, i.e. created QAction parent is self.