почему qgraphicsview рисует только после завершения программы?

Извините, если вокруг были такие вопросы, но я не смог их найти.

Я пытаюсь нарисовать некоторые QRects для QGraphicsScene, встроенного в QGraphicsView в главном окне для каждой n-й итерации моего алгоритма. Проблема в том, что рисуется только вид последней итерации, и ничего не отображается раньше.

mainwindow.h:

...
QGraphicsScene* scene;
QGraphicsView* view;
...

mainwindow.cpp: в конструкторе

view = ui->graphicsView;
scene = new QGraphicsScene();

На каждой n-й итерации эта функция вызывается:

mainwindow.cpp:

void MainWindow::drawSchedule(jss::JssTabuBack jobShop) {

scene->clear();
view->setScene(scene);

//...some calculations...

//add a square:
scene->addRect(QRectF(...));

...

view->show();
scene->update();
view->update();
}

Но graphicsView остается неизменным до завершения программы. Я новичок в Qt, поэтому я не знаю, должен ли я на самом деле использовать QGraphicsView для того, чего я хочу достичь.

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]