Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 19, 2011 00:09:08

@br@c@d@br
От: Кострома
Зарегистрирован: 2010-08-31
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Предотвращение зависания в цикле.

Здравствуйте!

Стоит задача получать изображение с камеры, затем обработать по спец алгоритму, вывести немного результатов. Все это должно работать в потоке, т.е. получать и обрабатывать изображения пока не закроют приложение.
Столкнулся с тем, что при зацикливании все зависает (есть GUI - PyQt)
Вопрос: как предотвратить зависание в цикле? Какие паттерны применяют для решения подобных задач?



Офлайн

#2 Июнь 19, 2011 00:42:52

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Предотвращение зависания в цикле.

Вынести обработку в отдельный поток.
http://diotavelli.net/PyQtWiki/Threading,_Signals_and_Slots



Офлайн

#3 Июнь 19, 2011 15:35:16

@br@c@d@br
От: Кострома
Зарегистрирован: 2010-08-31
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Предотвращение зависания в цикле.

Спасибо! Думаю это то, что мне нужно.



Офлайн

#4 Июнь 19, 2011 18:34:07

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2796
Репутация: +  185  -
Профиль   Отправить e-mail  

Предотвращение зависания в цикле.

Добавь в цикл QtGui.QApplication.processEvents() Но только тело цикла не должено сильно процессор нагружать.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Июнь 21, 2011 21:38:26

@br@c@d@br
От: Кострома
Зарегистрирован: 2010-08-31
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Предотвращение зависания в цикле.

Сделал по совету Rodegast, хотя наверное правильней будет как предложил pil. Времени нет разбираться, QtGui.QApplication.processEvents() работает!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version