Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] аналог QApplication::processEvents() |
Автор: anatox91 17.10.2011, 13:25 | ||
у меня в классе виджета выполняются определенные действия в цикле, и в этом же классе на форме есть пару кнопок и надо чтобы при нажатии на них выполнялись слоты, допустим после каждой итерации цикла мне нужно как-то выполнить все слоты, которые были вызваны(были поставлены в очередь на выполнение) и все это не прерывая цикла, желательно без потоков QApplication::processEvents() очень хорошая вещь, то что нужно, но она выполняет только накопившиеся event'ы, а мне нужно тоже самое но для сигналов и слотов вот кусок кода чтобы понять о чем речь
допустим запускается play, и надо чтобы в течение выполнения можно было поставить на паузу или остановить выполнение |
Автор: null56 17.10.2011, 14:10 | ||||||||
без потоков никак, ибо у тебя один поток на всё, на обработку слотов, событий и цикла. postEvent ставит в очередь и сразу возвращает управление, если у тебя цикл будет бесконечным, даже она тебя не спасет, потому что надо вернуться в eventloop, чтобы выполнить твои события ну это на сколкьо мне известно Добавлено через 3 минуты и 9 секунд что же касается твоего вопроса, то на сколько мне известно есть сигналы, которые тут же не выполняются, а откладываются до возврата в eventloop, как тебе и нужно
последний параметр
видимо тебе нужен Qt::QueuedConnection Добавлено через 6 минут и 10 секунд хотя не, одно и тоже, что по умолчанию |
Автор: anatox91 17.10.2011, 18:18 |
жалко, ладно придется чуть посложнее тогда сделать |