Как динамически управлять виджетами после запуска приложения

Рейтинг: 0Ответов: 1Опубликовано: 21.02.2023

Задача такая. Есть клиентская часть с интерфейсом, которая ожидает от сервера некоторые данные. Пока данных нет, отображается один виджет, как только они пришли, виджет меняется.

Изначально я хотел менять виджеты функцией, которая бы вызывалась после получения клиентом данных, но столкнулся с проблемой: после выполнения приложения app.exec() поток как бы зависает на этом моменте, и не воспринимает, все что после, пока работает приложение.

Я знаю, что есть multithreading для qt приложений QThread. Но меня смутила сама идея использования многопоточности, и кажется каким то костылем. В связи с этим вопрос: как можно управлять приложением во время его выполнения из вне?

Ответы

▲ 0

Использование многопоточности сложно назвать костылём, когда выполняется какая либо операция в главном потоке, логично что поток будет выполнять операцию а не обрабатывать новые команды от пользовательского интерфейса. Если не хотите использовать многопоточность попробуйте изучить асинхронное программирование или например таски.