QQuickView does not support using a window as a root item.
2021. 7. 24. 13:19ㆍProgramming/Qt
반응형
QQuickView does not support using a window as a root item.
If you wish to create your root window from QML, consider using QQmlApplicationEngine instead
예제를 풀던 도중에 이런 오류가 나왔다.
방법1
https://forum.qt.io/topic/66300/qquickview-problems
여기 싸이트에서는 해석 그대로 QQuickView는 Window를 root 객체로 사용을 못한다고 한다.
그래서 Window를 Item으로 바꿨다. 하지만 오류는 뜨지 않았지만 결과도 안 보였다.
그래서 viewer.show(); (viewer는 QQuickView객체이름이다) 코드를 추가했다. → 해결
방법2
https://forum.qt.io/topic/64505/qqmlcontext-setcontextproperty-property-is-not-defined
그래서 QQuickView가 아닌 QQmlApplicationEngine을 대신 사용해서 실행했다.
수정전
QQuickView viewer;
Message msg;
viewer.engine()->rootContext()->setContextProperty("msg", &msg);
viewer.setSource(QUrl( "qrc:///main.qml" ) );
수정후
QQmlApplicationEngine engine;
Message msg;
engine.rootContext()->setContextProperty("msg", &msg);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
→ 해결
반응형
'Programming > Qt' 카테고리의 다른 글
QML module not found 해결법 (0) | 2021.12.20 |
---|---|
Unable to assign QQuickRootItem to double (0) | 2021.07.31 |
Error while building/deploying project (0) | 2021.07.22 |
Qt Quick이란? (0) | 2021.07.21 |
QML Settings: Failed to initialize QSettings instance. (0) | 2021.07.18 |