Tworzę sobie okno i grafikę, która ma być wyświetlana w tym oknie,
następnie chcę odczekać powiedzmy 3s
i utworzyć nową grafikę i znów wyświetlić w tym samym widgecie.
kod konstruktora wygląda tak:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
int x = 15, y = 15;
int size = 10;
QImage image = QImage(x*size, y*size, QImage::Format_RGB32);
QGraphicsScene *graphic = new QGraphicsScene (this);
graphic->addPixmap(QPixmap::fromImage(image));
ui->graphicsView->setScene(graphic);
QThread::msleep(3000);
}
Program działa w ten sposób, że czeka 3s, po czym pojawia się dopiero okno.
Próbowałem też z sygnałem, który jest emitowany zamiast QThread::msleep(3000);
, a komenda msleep()
wykonywana jest w slocie, ale efekt jest taki sam.
Da się to jakoś zrobić bez tworzenia nowych wątków?