LINUX.ORG.RU

время ожидания программы

 , ,


0

1

добрый день форумчане.

пишу программу в qt.

в процессе работы выходит табличка

«program is not responding»

я так понимаю linux ждет ответ, но программа его не дает.

кто нить знает как отлючить ожидание или сделать его больше ?

показывай код. телепаты в отпуск

ggrn ★★★★★
()

В отладчике на стоп нажми, мгновенно поймёшь что зависло, проблема как правило не в qt

Как это делать разбирайся сам

nikitalol ★★
()

Зависла. Запусти под отладчиком и сделай стоп, увидишь где повисло. Если делаешь что то длительное, то используй QCoreApplication::processEvents / QApplication::processEvents

I-Love-Microsoft ★★★★★
()

Нужно писать программу так чтобы она не висла. Если ей нужно что-то долгое сделать, делай в отдельном потоке.

slovazap ★★★★★
()
Ответ на: комментарий от theNamelessOne

да… в main я запускаю sh script.sh и этот скрипт долго работает. около 10 минут. программа думает что он завис и предлогает kill его. Думаю как это обойти.

joslen_bomon
() автор топика
Ответ на: комментарий от joslen_bomon

QT давно в руки не брал, но смысл в том, чтобы вынести запуск скрипта в отдельный поток. В UI написать «выполняю скрипт - ждите…». Отдельный поток по завершению шлёт сигнал слоту окна (здесь не знаю точно можно ли слать сигналы в UI поток из не UI потока). В слоте окна напистать «работа завершена».

her_s_gory
()
Ответ на: комментарий от joslen_bomon

Если в коде все хорошо, что мы тут обсуждаем?

DrBrown
()
Ответ на: комментарий от DrBrown

ТС не сильно потрудился уточнить что же он делает и как запускает, не обязательно весь код показывать а только «виснущую» часть

С QProcess решение очевидное, да

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.