def qteNextWidget(self, numSkip: int=1, ofsWidget: QtGui.QWidget=None,
                      skipVisible: bool=False, skipInvisible: bool=True,
                      skipFocusable: bool=False,
                      skipUnfocusable: bool=True):
        if not hasattr(ofsWidget, '_qteAdmin') and (ofsWidget is not None):
            msg = '<ofsWidget> was probably not added with <qteAddWidget>'
            msg += ' method because it lacks the <_qteAdmin> attribute.'
            raise QtmacsOtherError(msg)
        self.qteAutoremoveDeletedWidgets()
        widList = list(self._qteAdmin.widgetList)
        if not len(widList):
            if qteGetAppletFromWidget(self._qteActiveWidget) is self:
                return self._qteActiveWidget
            else:
                return None
        if skipInvisible:
            widList = [wid for wid in widList if wid.isVisible()]
        if skipVisible:
            widList = [wid for wid in widList if not wid.isVisible()]
        if skipFocusable:
            widList = [wid for wid in widList if not wid._qteAdmin.isFocusable]
        if skipUnfocusable:
            widList = [wid for wid in widList if wid._qteAdmin.isFocusable]
        if not len(widList):
            return None
        if ofsWidget is None:
            ofsWidget = self._qteActiveWidget
        if (ofsWidget is not None) and (numSkip == 0):
            if qteIsQtmacsWidget(ofsWidget):
                return ofsWidget
        try:
            ofsIdx = widList.index(ofsWidget)
        except ValueError:
            ofsIdx = 0
        ofsIdx = (ofsIdx + numSkip) % len(widList)
        return widList[ofsIdx]