def show_wait_cursor(object):
    """
    Shows a wait cursor while processing.

    :param object: Object to decorate.
    :type object: object
    :return: Object.
    :rtype: object
    """

    @functools.wraps(object)
    def show_wait_cursorWrapper(*args, **kwargs):
        """
        Shows a wait cursor while processing.

        :param \*args: Arguments.
        :type \*args: \*
        :param \*\*kwargs: Keywords arguments.
        :type \*\*kwargs: \*\*
        :return: Object.
        :rtype: object
        """

        QApplication.setOverrideCursor(Qt.WaitCursor)
        value = None
        try:
            value = object(*args, **kwargs)
        finally:
            QApplication.restoreOverrideCursor()
            return value

    return show_wait_cursorWrapper