becks
@becks

Как правильно использовать QMovie при ожидании завершения долгого метода?

При подключении к серверу, нужно выводить виджет с QMovie и некоторым сообщением, подключение завершилось - закрываем панель. Проблема в том, что пока идёт само подключение QMovie стоит застывший, после, когда выпадает предупреждение начинает шевелиться. Оно и понятно - работает подключение в потоке с графикой. Чего только не попробовал, ничего нормально не работает, как сделать правильно? Сейчас дошел до QFutureWatcher. Получается что-то вроде:
QFutureWatcher<bool> watcher;
    ....

    LoadingSplashScreen screen("Подключение к серверу...", this);
    screen.show();

    connect(&watcher, SIGNAL(finished()), this, SLOT(handleFinished()));
    future = QtConcurrent::run(this, &MainWindow::connectToServer, info.server);
    watcher.setFuture(future);


Получается нужно глобально хранить watcher, future и screen для закрытия. По мне это уже перебор. Подскажите, как сделать нормально?
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 1
Zifix
@Zifix Куратор тега Qt
Barbatum
По-вашему поля класса — это "хранить глобально"?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы