Подтвердить что ты не робот

Сменить курсор на песочные часы/ожидание и заняться курсором и обратно в Qt

Я запускаю процесс, который выполняет длительную операцию, и я хотел бы дать визуальную обратную связь о том, что что-то происходит, поэтому я хочу изменить курсор на занятый и восстановить его, когда получаю сигнал QProcess::finished.

4b9b3361

Ответ 1

Решение Qsiris - "виджет широкий". Если вы хотите изменить курсор для всего приложения, используйте

QApplication::setOverrideCursor(Qt::WaitCursor);

и

QApplication::restoreOverrideCursor();

Примечание.. Как отметил @Ehsan Khodarahmi, курсор НЕ изменится до запуска следующего события QT или вызова QApplication:: processEvents() вручную.

Ответ 2

Используйте это, чтобы настроить курсор на ожидание начала процесса:

this->setCursor(Qt::WaitCursor);

И это, чтобы вернуть курсор в нормальное состояние (поместите это в слот для завершения QProcess::)

this->setCursor(Qt::ArrowCursor);