Grundsätzlich brauche ich etwas, um es zu zeichnen, das ist einfach mit Designer zu verwenden (zum Beispiel erben von QWidget und override von paintEvent erfordern einige Anstrengungen, es in Qt-Designer zu verwenden).Qt: setScreenRect = segfault
So füge ich QGraphicsView Datei .ui und solchen Code in Button-Methode schreiben:
QGraphicsScene *scene = ui->graphicsView->scene();
const QRectF scene_r = ui->graphicsView->sceneRect();
//here I see that scene_r == {0, 0, 0, 0};
dann füge ich einen solchen Code:
const QSize draw_size = ui->graphicsView->size();
//draw_size == {100, 100}
scene->setSceneRect(QRectF(0, 0, draw_size.width(), draw_size.height()));
und bekam segfault auf Linie scene->setSceneRect
, was los ist Hier?
Eigentlich möchte ich Recht einen solchen Code:
//scene size == draw_size
QPixmap pix(draw_size.width(), draw_size.height());
//fill pix with external program
scene->addPixmap(map_pix);
ist es möglich?
Ich arbeite noch nie mit QGraphicsView.
Und 'scene' ist kein Null-Zeiger? –
Ja, 'Szene' ist' nullptr', danke, ich denke nie, dass ich auf diese Art graben kann, wegen dem Sinn, 'QGraphicsView' ohne Szene zu erstellen. – user1244932
Es ist immer eine gute Idee, ein Objekt zu haben, bevor Sie es benutzen;) – dtech