QML 응용 프로그램의 화면을 잡고 싶습니다. 하지만 내 루트 QML 개체는 ApplicationWindow
이므로 QQuickView
을 사용하여 표시 할 수 없습니다. 대신 QQmlApplicationEngine
을 사용해야합니다. QQuickView
(QQuickWindow::grabWindow
)으로 스크린 샷을 찍는 방법을 알고 있지만 QQmlApplicationEngine
으로 촬영하는 방법을 모르겠습니다.QQuickView없이 QML 응용 프로그램의 스크린 샷
내 main
파일 :
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
}
//...
}