crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> зависание программы написанной на Qt
eldar85
  опции профиля:
сообщение 17.3.2010, 23:20
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


столкнулся со странной проблемой, написал программу, отлично все работает, но если она выполняет процесс и по окну ткнешь мышью, окно зависает и пишет что программа не отвечает, но действие все же она свое доделывает до конца, потому как после окончания выполнения процесса она выдает конечный результат и окно стает опять активным) хотелось бы понять почему так происходит, ниужели чтобы программа работала без зависания я не могу даже просто свернуть окошко проги?
может какие то ошибки наделал, очень нужен совет мастеров Qt)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
eldar85
  опции профиля:
сообщение 18.3.2010, 3:09
Сообщение #2


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


да процесс на самом деле долгий и обрабатывать событие я пока не умею))
у меня идет процесс в цикле for.
for находиться в слоте, получается я нажимаю кнопку и запускается этот цикл, он работает с сетью, он может повториться и сто и 1000 раз, это может занимать от нескольких секунд, до пары минут и в это время окно лучше не трогать, а то зависает)))
а это вызов void QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) [static]
нужно делать в этом самом цикле for или где то отдельно? я еще новичек просто в кьюти, поэтому сложно догадаться сразу что и куда)
спасибо что откликаетесь)

Сообщение отредактировал eldar85 - 18.3.2010, 4:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 18.3.2010, 5:14
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(eldar85 @ 18.3.2010, 3:09) *
да процесс на самом деле долгий и обрабатывать событие я пока не умею))
у меня идет процесс в цикле for.
for находиться в слоте, получается я нажимаю кнопку и запускается этот цикл, он работает с сетью, он может повториться и сто и 1000 раз, это может занимать от нескольких секунд, до пары минут и в это время окно лучше не трогать, а то зависает)))
а это вызов void QCoreApplication::processEvents ( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) [static]
нужно делать в этом самом цикле for или где то отдельно? я еще новичек просто в кьюти, поэтому сложно догадаться сразу что и куда)
спасибо что откликаетесь)

можно еще внутри цикла рисовать qApp->processEvents();.
И не проблема это qt, а любого языка (среды). На первом курсе преподают
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.12.2024, 8:11