Рисую граф серым цветом. Потом некоторые ребра надо сделать черными. При этом делать "по шагам" - с временым интервалом после каждого ребра. Функция Sleep(1000) делает задержку не на одно ребро, а сразу на все, и выводит потом все сразу, а не по шагам.
При этом приложение висит.
как выводит изображения не один раз, а походу работы алгоритма?
void GraphPrimKruskal::paintEvent(QPaintEvent *){
QPainter painter(this);
//painter.QPainter(this);
//init painter
//painter.setWindow ( 0, 0, 450, 450 );
painter.setRenderHint(QPainter::Antialiasing,true);
//draws all lines of list (gray)
painter.setPen(QPen(Qt::gray,4,Qt::SolidLine));
for(pallLines=allLines.begin();pallLines!=allLines.end();pallLines++)
painter.drawLine( QLine( dots.find(pallLines->getFirstPoint())->second,
dots.find(pallLines->getSecondPoint())->second) );
//draws all dots of map (black)
painter.setPen(QPen(Qt::black,10,Qt::SolidLine,Qt::RoundCap));
for(pdots=dots.begin();pdots!=dots.end();pdots++)
painter.drawPoint(pdots->second);
//draws ckecked lines of list (black) - decision
painter.setPen(QPen(Qt::black,4,Qt::SolidLine));
for(pallLines=allLines.begin();pallLines!=allLines.end();pallLines++){
if(pallLines->isChecked())
painter.drawLine( QLine( dots.find(pallLines->getFirstPoint())->second,
dots.find(pallLines->getSecondPoint())->second) );
//Sleep(1000);
}
}