docs: def setIcon(self, icon):
          """
          Sets the icon for this hotspot.  If this method is called with a valid
          icon, then the style will automatically switch to Icon, otherwise,
          the style will be set to Invisible.
          
          :param      icon | <QIcon> || <str> || None
          """
          icon = QIcon(icon)
          if icon.isNull():
              self._icon = None
              self._style = XNodeHotspot.Style.Invisible
          else:
              self._icon = icon
              self._style = XNodeHotspot.Style.Icon