Какая разница между QQuickView и QQuickWindow?

В настоящее время я работаю с Qt 5.2.1... и у меня есть вопрос (может быть, глупый?): В чем разница между QQuickView и QQuickWindow?

Я прочитал документацию, но мне все еще не ясно...

Ответы

Ответ 1

Из документации Qt:

Класс QQuickView предоставляет окно для отображения Qt Quick user интерфейс.

QQuickView - это удобный подкласс QQuickWindow, который автоматически загружать и отображать сцену QML при задании URL-адреса основного исходного файла.

Итак, QQuickView является подклассом QQuickWindow, который управляет отображением сцены из файла QML и может быть легко использован как:

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

Для отображения графической сцены QML в окне вы также можете использовать класс QQuickWindow.

Также из документации Qt:

A QQuickWindow всегда имеет единственный невидимый элемент корня. Чтобы добавить элементы к этому окну, повторно добавьте элементы к корневому элементу или к существующему элемент в сцене.

Поэтому его можно использовать как:

QQmlApplicationEngine engine;
engine.load(QUrl("myqmlfile.qml"));

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

window->show();