как работать с циклом while в qt c++

У меня есть функция с бесконечным циклом while внутри. когда ее активирую, программа зависает. Как можно запустить эту функцию в потоке в qt?


Ответы (1 шт):

Автор решения: eri

В долгие вычисления можно вставлять QCoreApplication::processEvents() чтоб сохранить отзывчивость интерфейса.

https://doc.qt.io/qt-5/qcoreapplication.html#the-event-loop-and-event-handling

Если код в вашем цикле спит - используйте таймеры

https://doc.qt.io/qt-5/thread-basics.html#using-threads

Если там сеть - используйте readyread сигнал

Но бесконечные циклы нужно либо ложить в тред https://doc.qt.io/qt-5/qthread.html#details

Либо через QAbstractEventDispatcher проводить по одной итерации https://stackoverflow.com/a/14902417/2101808

→ Ссылка