Yes, I know about Component.onCompleted but I need to do that in C++ part. Let's say I cannot modify QML data - all I need is to load it and make screenshot of loaded data.
Btw, Component.onCompleted also not works. I guess at this moment, whet this event triggers, some data isn't ready yet. 12.01.2015 16:32, Dmitry Volosnykh пишет: > Try to do that inside Component.onCompleted handler. Note that, however, if > you use images located remotely, then you should wait them to be loaded. > > On Jan 12, 2015 9:17 AM, ruslan <rus...@khvmntk.ru> wrote: >> Hello all! >> Is there any way to know when QML data was loaded into engine? >> In my QML app I want to make a screenshot after all the source was loaded. >> >> QQmlApplicationEngine engine; >> >> engine.loadData(data); >> >> QQuickWindow *rootObject = qobject_cast<QQuickWindow >> *>(p_engine.rootObjects().first()); >> >> QImage image = rootObject->grabWindow(); >> >> image.save("window.png","PNG",90); >> >> >> >> >> >> where data is simple QML file: >> >> >> >> import QtQuick 2.3 >> >> import QtQuick.Window 2.2 >> >> Window { >> >> visible: true >> >> width: 360 >> >> height: 360 >> >> Text { >> >> anchors.centerIn: parent >> >> text: "Hello, world!" >> >> } >> >> MouseArea { >> >> anchors.fill: parent >> >> //onClicked: someSingleton.makeScreenshot(); >> >> } >> >> } >> >> But image not saved just because it is empty. If I call >> QQuickWindow::grabWindow() from QML, for example, after clicking at >> MouseArea it works well. >> >> >> >> So from this I conclude that when I call rootObject->grabWindow() it still >> not loaded completly yet. I've tried to call this function in this way: >> >> >> >> connect(rootObject,&QQuickWindow::afterRendering,[=] () { >> >> QImage image = rootObject->grabWindow(); >> >> image.save("window.png","PNG",90); >> >> }); >> >> >> >> But the program just hungs up in this slot and no image was saved. >> >> >> >> >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest