Ich möchte Bildschirm meiner QML-Anwendung greifen. Aber mein Wurzel-QML-Objekt ist ApplicationWindow
, also kann ich QQuickView
nicht verwenden, um es zu zeigen. Stattdessen muss ich QQmlApplicationEngine
verwenden. Ich weiß, wie man mit QQuickView
Screenshot (QQuickWindow::grabWindow
), aber ich weiß nicht, wie man es mit QQmlApplicationEngine
nehmen.Screenshot der QML-Anwendung ohne QQuickView
Meine main
Datei:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ApplicationData appData;
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:///main.qml"));
return app.exec();
}
main.qml
:
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Window 2.1
ApplicationWindow {
id: mainWindow
width: appData.screenWidth
height: appData.screenHeight
visible: true
Rectangle {
id: mainWindowBackground
color: "red"
anchors.fill: parent
}
//...
}