Название: Задержка при рисовании Отправлено: vladymyr от Март 16, 2008, 17:23 Рисую граф серым цветом. Потом некоторые ребра надо сделать черными. При этом делать "по шагам" - с временым интервалом после каждого ребра. Функция Sleep(1000) делает задержку не на одно ребро, а сразу на все, и выводит потом все сразу, а не по шагам.
При этом приложение висит. как выводит изображения не один раз, а походу работы алгоритма? Код: void GraphPrimKruskal::paintEvent(QPaintEvent *){ Название: Re: Задержка при рисовании Отправлено: Steven_Orko от Март 18, 2008, 13:07 Посылай себе событие свое какое-нибудь по сигналу таймера через сколько надо тебе секунд. По событию устанавливаешь флаг о необходимости выполнения какой-либо следующей по счету части алгоритма. Когда все части (стадии) выполнены, вырубай таймер. В функции paintEvent() проверяй установку флага и номер следующей стадии выполнения алгоритма. Если флаг установлен и алгоритм не закончет, то рисуй то, что выпало на данный момент.
Образно, выглядит так. Тебе ведь надо, чтобы пользователь выдел какой-то процесс изменения внешнего вида виджета с удобной для восприятия скоростью. Верно? Ну, тогда только так или как-то модифицировав, но смысл тот же останется. ИМХО. |