как работать с циклом while в qt c++
У меня есть функция с бесконечным циклом while внутри. когда ее активирую, программа зависает. Как можно запустить эту функцию в потоке в qt?
Ответы (1 шт):
В долгие вычисления можно вставлять 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