Как я могу изменить форму курсора с помощью PyQt?

У меня есть простое приложение, которое запускает процесс, который может длиться несколько минут до завершения. Я пытаюсь указать пользователю, что он обрабатывает запрос, например, изменив курсор на песочные часы.

Но я не могу заставить его работать правильно. Все мои попытки либо привели к ошибке, либо не дали никакого эффекта. И я, кажется, неправильно вызываю форму курсора, поскольку PyQt4.Qt.WaitCursor возвращает ошибку, что модуль не содержит ее.

Как правильно указать пользователю, что процесс запущен?

14
задан ekhumoro 8 November 2019 в 16:48
поделиться

1 ответ

Лучший способ добавить курсор согласно мне был бы при помощи декораторов. Таким образом, можно выполнить любую функцию, просто добавив курсор к той функции как декоратор

import decorator
@decorator.decorator
def showWaitCursor(func, *args, **kwargs):
    QtWidgets.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor)
    try:
        return func(*args, **kwargs)
    finally:
        QtWidgets.QApplication.restoreOverrideCursor()

@showWaitCursor
def youFunc():
    # Long process
0
ответ дан 1 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: