QQuickView和QQuickWindow有什么区别?

时间:2014-05-29 14:47:51

标签: c++ qt qt5 qtquick2 qt-quick

我目前正在使用Qt 5.2.1 ...我有一个(可能是愚蠢的?)问题:QQuickViewQQuickWindow之间有什么区别?

我阅读了文档,但我仍然不清楚......

1 个答案:

答案 0 :(得分:21)

来自Qt文档:

  

QQuickView类提供了一个显示Qt Quick用户的窗口   接口

     

QQuickView是QQuickWindow的便利子类   给定URL的URL时自动加载并显示QML场景   主要源文件。

所以QQuickView是QQuickWindow的子类,管理从QML文件显示场景,可以像以下一样轻松使用:

QQuickView *view = new QQuickView;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();

要在窗口中显示图形QML场景,您还可以使用QQuickWindow类。

同样来自Qt文档:

  

QQuickWindow总是有一个隐形根项。添加项目   到此窗口,将项目重新显示为根项目或现有项目   场景中的项目。

所以它可以像:

一样使用
QQmlApplicationEngine engine;
engine.load(QUrl("myqmlfile.qml"));

QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);

window->show();