我想抓住我的QML应用程序的屏幕.但我的根QML对象是ApplicationWindow,所以我不能QQuickView用来显示它.相反,我必须使用QQmlApplicationEngine.我知道如何使用QQuickView(QQuickWindow::grabWindow)获取屏幕截图,但不知道如何使用它QQmlApplicationEngine.
我的main档案:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ApplicationData appData;
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:///main.qml"));
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
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
}
//...
}
Run Code Online (Sandbox Code Playgroud)