Я запускаю процесс, который выполняет длительную операцию, и я хотел бы дать визуальную обратную связь о том, что что-то происходит, поэтому я хочу изменить курсор на занятый и восстановить его, когда получаю сигнал QProcess::finished
.
Сменить курсор на песочные часы/ожидание и заняться курсором и обратно в Qt
Ответ 1
Решение Qsiris - "виджет широкий". Если вы хотите изменить курсор для всего приложения, используйте
QApplication::setOverrideCursor(Qt::WaitCursor);
и
QApplication::restoreOverrideCursor();
Примечание.. Как отметил @Ehsan Khodarahmi, курсор НЕ изменится до запуска следующего события QT или вызова QApplication:: processEvents() вручную.
Ответ 2
Используйте это, чтобы настроить курсор на ожидание начала процесса:
this->setCursor(Qt::WaitCursor);
И это, чтобы вернуть курсор в нормальное состояние (поместите это в слот для завершения QProcess::)
this->setCursor(Qt::ArrowCursor);