Игнат
Фев. 7, 2011 13:06:54
подумал что лучшим способом оповестить юзера о завершении определенной работы - будет каллбэк на прогрессбар
но возможно ли это? так, чтобы при достижении 100% он вызывал какой-либо метод
если нет, то что вы используете в таких случаях? как узнать, что вся работа уже завершена (в случае многопоточности)
Soteric
Фев. 7, 2011 13:36:43
Конкретно по вопросу ответить не могу, но подход здесь выглядит не слишком правильным. Некто отвечающий за мониторинг задачи и отправляющий текущий процент выполнения прогресс бару должен сигналить о том, что работа сделана. Прогресс бар здесь всего лишь отражение того, что происходит в вашей программе. Это он опирается на нее и ее результаты, а не она мониторит состояние прогресс бара чтобы определить выполнила она задачу или нет. Представьте, что у вас внезапно поменялись требования и теперь понадобился интерфейс командной строки. Получается, что в отсутствии прогресс бара программа не может функционировать, потому что на этот компонент возложена часть функциональности (отправка некоего колбека). Таких ситуаций не должно возникать.
Игнат
Фев. 8, 2011 21:17:05
согласен, да
тут надо использовать слот, который обновляет прогрессбар