Решение Эхуморо правильное.Это решение является модификацией ради стиля.Я использовал то, что сделал Эхумор, но использовал декоратор python.
from PyQt4.QtCore import Qt
from PyQt4.QtGui import QApplication, QCursor, QMainWidget
def waiting_effects(function):
def new_function(self):
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
try:
function(self)
except Exception as e:
raise e
print("Error {}".format(e.args[0]))
finally:
QApplication.restoreOverrideCursor()
return new_function
Я могу просто установить декоратор на любой метод, для которого я хочу, чтобы спиннер был активным.
class MyWigdet(QMainWidget):
# ...
@waiting_effects
def doLengthyProcess(self):
# do lengthy process
pass