Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between QQuickView and QQuickWindow?

I am currently working with Qt 5.2.1... and I have a (maybe stupid?) question: What is the difference between QQuickView and QQuickWindow?

I read the documentation but it is still not clear to me...

like image 592
Morix Dev Avatar asked May 29 '14 14:05

Morix Dev


People also ask

What is QQuickView?

The QQuickView class provides a window for displaying a Qt Quick user interface.

What is Qqmlapplicationengine?

The QmlApplicationEngine is all you need to set up your qt quick window, pick up the right translation files and it implicitly connects the application quit() signal to your root window.


1 Answers

From the Qt documentation:

The QQuickView class provides a window for displaying a Qt Quick user interface.

QQuickView is a convenience subclass of QQuickWindow which will automatically load and display a QML scene when given the URL of the main source file.

So QQuickView is a subclass of QQuickWindow which manages displaying a scene from a QML file and could be used easily like:

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

For displaying a graphical QML scene in a window you can also use the QQuickWindow class.

Also from the Qt documentation:

A QQuickWindow always has a single invisible root item. To add items to this window, reparent the items to the root item or to an existing item in the scene.

So it can be used like:

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

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

window->show();
like image 180
Nejat Avatar answered Oct 23 '22 17:10

Nejat