def set_cursor(shape):
    def wrapper(func):
        @wraps(func)
        def result(*args, **kwargs):
            from glue.external.qt import get_qapp
            app = get_qapp()
            app.setOverrideCursor(shape)
            try:
                return func(*args, **kwargs)
            finally:
                app.restoreOverrideCursor()
        return result

    return wrapper
Set the Qt cursor for the duration of a function call, and unset
dataset/ETHPy150Open glue-viz/glue/glue/utils/qt/decorators.py/set_cursor