Есть функция, которая обрабатывает последовательность команд в текстовом виде. Все

команды должны исполняться сразу после обработки. Если встречается текстовая команда "pause N" функция обработки команд должна остановиться на N секунд, после этого продолжить обрабатывать остальные команды. Как это можно сделать без зависания GUI?

4 ответов

8 просмотров

С помощью QTimer. Делаешь его чтоб срабатывал один раз. Ставишь N секунд. А в слоте по срабатыванию таймера просто достаешь уже следующую команду и выполняешь.

Александр Серый
Метод QTimer::singleShot который?

Это метод сразу запускает одиночный таймер со слотом, и ты не сможешь управлять таймером. Можешь просто создать таймер, назначить интервал setInterval(N * 1000), где N - секунды. Таймер принимает милисекунды. Потом задай ему чтоб сработал один раз setSingleShot(true). Подключайся к сигналу таймера timeout. Когда надо сделать паузу, запускай таймер. По истечению N секунд вызовется твой слот, где ты будешь выполнять след команды

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

Обсуждают сегодня

вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
это группа токсиков или тех кто помогает?
Ибрагим
9
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
ребят, привет есть ли возможность мигрировать Policies + Auth Methods из нескольких Vault в один? пытаюсь сократить Vault кластера, немного не удобно что для каждой тестовой ...
azadevlab
2
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Всем привет. Кто подскажет, как сделать авто обновление стороннего модуля при запуске контейнера. Мб есть команда при запуске контенера или в докер файле нужно приписать настр...
Trum_t Malyuzhenets
1
Карта сайта