def METHOD_NAME(
    self,
    widget: QtWidgets.QWidget,
    name: str,
    icon_or_path: Union[Path, QtGui.QIcon],
    tool_tip: Optional[str] = None,
) -> None:
    """
    Add widget as tab with icon and tool tip.
    :param widget: Widget to add as new tab
    :param name: Tab name
    :param icon_or_path: Icon file path or QIcon instance
    :param tool_tip: Optional tab tooltip. If unspecified, a tooltip
        will be determined from the icon name.
    """
    # Store original icon for rotation adjustments
    if isinstance(icon_or_path, Path):
        icon = get_icon(icon_or_path)
    else:
        icon = icon_or_path
    self._tab_icons[id(widget)] = icon
    # Add new tab, with icon oriented upward
    tab_pos = self.tabs.tabPosition()
    upright_icon = self._rotate_icon(icon, tab_pos)
    tab_idx = self.tabs.addTab(widget, upright_icon, "")
    self.tabs.setTabToolTip(tab_idx, tool_tip or name)