В чем разница между QQuickView и QQuickWindow?

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

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

1 ответ

Решение

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

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

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

Таким образом, 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();
Другие вопросы по тегам