crossplatform.ru

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

breeve
  опции профиля:
сообщение 25.1.2011, 20:43
Сообщение #1


Участник
**

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

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




Репутация:   1  


Есть рекурсивная функция которая увеличивает переменную. Эта переменная в течении секунд 10-15 увеличивается, затем остается неизменной.
Необходимо чтобы эта переменная выводилась в лэйбл все время, т.е пока функция подсчитывает, видеть какое сейчас значение.
Я сделал чтобы при запуске функции он выставлял значение в лэйбл, но он меняет так быстро что окно не появляется пока функция не закончит работу.
Как сделать чтобы окно открылось а в нем изменялось число?

Сообщение отредактировал breeve - 25.1.2011, 20:45
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Rocky
  опции профиля:
сообщение 26.1.2011, 8:58
Сообщение #2


Старейший участник
****

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

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




Репутация:   7  


Ну можно попробовать поставить задержку (через таймер) на начало работы функции, чтобы успело все отразиться, а потом из функции делать вызов qApp->processEvents().
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
breeve
  опции профиля:
сообщение 27.1.2011, 15:50
Сообщение #3


Участник
**

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

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




Репутация:   1  


Цитата(Rocky @ 26.1.2011, 8:58) *
Ну можно попробовать поставить задержку (через таймер) на начало работы функции, чтобы успело все отразиться, а потом из функции делать вызов qApp->processEvents().

Если я правильно понял тогда получится что перед тем как запуститься функция, разок покажет Лэйбл с нулями, и затем функция начнет работать. И только после окончания функции он снова обновит Лэйбл.
Нужно чтобы было примерно как, если в бесконечном цикле прибавлять по единичке к переменной, и затем через qDebug() ее выводить. Одна цифра будет сменяться другой оч быстро. Пытаюсь тоже самое только лэйбл. выводить.

Цитата(Rocky @ 27.1.2011, 15:26) *
Так processEvents вызывается где-нибудь из рекурсивной функции или нет?

Сделал все заработало. О_о Только не совсем понимаю как работает этот процесс ивентс..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.6.2025, 10:54