QQuickWidget grab image
Ich speichere ein Bild von einemQQuickWidget
mit mehreren QML-Kindern, aber alles, was ich habe, ist ein leeres Bild.
C ++ Seite:
QQuickWidget* content..
content->setSource(QUrl("qml:/main.qml"));
QPixmap *pm = content->grab(QRect(QPoint(0,0),QSize(-1,-1));
pm->save("someFilename.png", 0, 100);
QML Seite:
Rectangle{ width: 5; height: 5; color: "yellow"; objectname: "rootobj"}
In der QML möchte ich dynamisch Kinder hinzufügen und sie im Bild anzeigen können. Ich habe versuchtQQuickWindow
grabWindow
Methode mit einer Verbindung zu einem Steckplatz und es funktioniert, aber es erfasst nur den sichtbaren Bereich des Fensters und ich muss die gesamte QML erfassen.
Ich glaube, das ist keine Raketenwissenschaft, nur dass ich es nicht irgendwo hin bekomme. Vielen Dank für Ihre Antworten!
Nachtrag
Ok, ich glaube nicht, dass es das Problem vor / nach dem Rendern ist, da ich alle untergeordneten qml-Dateien sehen kann, bevor ich den Picture Grabber aufrufe. Tut mir leid, dass ich nicht präzise bin.
c ++ Seite:
QQuickWidget* content..
content->setSource(QUrl("qml:/main.qml"));
//do all my dynamic qml children adding
Nachdem ich alle meine qml visuell sehen kann:
QPixmap *pm = content->grab(QRect(QPoint(0,0),QSize(-1,-1));
pm->save(....
Es sei denn, ich irre mich, ich glaube nicht, dass es Probleme mit der Wiedergabe gibt. Vielen Dank