Как приостановить выполнение слота (но не треда!), а потом снаружи

продолжить его выполнение?

24 ответов

51 просмотр

А что значит снаружи?

никак. можно processEvent из слота покрутить, но это на крайний случай

underrated like a psychopath- Автор вопроса
Александр Серый
А что значит снаружи?

Ну как я представляю. У нас есть система сигнал-слот, в ней кооперативная многозадачность. И я хочу не блокироваться в слоте, а передать управление. А потом передам управление назад

underrated like a psychopath
Ну как я представляю. У нас есть система сигнал-сл...

корутины в С++ только добавили) возможно через года 3 будет их поддержка в Qt

underrated like a psychopath
Ну как я представляю. У нас есть система сигнал-сл...

Я с многопоточностью не работал, но когда-то нужно было на время и при определенных условиях прекратить работу сигнала/слота, я просто disconnect сделал, а потом снова включил

underrated like a psychopath
А boost.fiber тут подойдёт?

тут подойдет разделение 1-го слота на 2 слота

Александр Серый
Я с многопоточностью не работал, но когда-то нужно...

вроде не совсем то. он хочет посередине слота приостановить работу. штатными средствами qt вроде никак, если только делить слот на два как предложили

underrated like a psychopath- Автор вопроса
Макс Воробьев
тут подойдет разделение 1-го слота на 2 слота

Не понял, как подойдёт? У меня ж слот заблокирует весь тред

underrated like a psychopath- Автор вопроса
Макс Воробьев
что у тебя в слоте такого?

Запрос к субд. И я хочу по клику отменить

underrated like a psychopath
Не понял, как подойдёт? У меня ж слот заблокирует ...

блокировать слот не стоит если он в основном потоке. а вообще ты наверное можешь просто создать отдельный поток и приостанавливать его

underrated like a psychopath- Автор вопроса
mefest
блокировать слот не стоит если он в основном поток...

Да я не хочу целый поток делать, мне надо всего-навсего опрашивать состояние. Проблема в том, что у меня при этом qprogressdialog виснет

underrated like a psychopath
Libpq

сам себе злобный буратино. чем Qt не подошел?

underrated like a psychopath
Да я не хочу целый поток делать, мне надо всего-на...

если у тебя там операция которая надолго блокирует основной поток, то ui будет на это время подвисать, тут имхо правильно выносить это в отдельный поток и можно нормально общаться через сигнал-слот

underrated like a psychopath- Автор вопроса
mefest
если у тебя там операция которая надолго блокирует...

Да через тред я сделал, но хотелось бы без этого обойтись. Файберы из буста тут можно приспособить?

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта