What is the difference between QQmlApplicationEngine and QQuickView? : <p>I'm using <code>QQmlApplicationEngine</code> as follows:</p>

<pre><code>QGuiApplication app(argc, argv);

QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

app.exec();
</code></pre>

<p>But now I want to enable multisampling for my app, and <code>QQmlApplicationEngine</code> doesn't seem to have a <code>setFormat</code> method for enabling multisampling.</p>

<p>I found a way to do it with a <code>QQmlApplicationEngine</code> <a href="https://v-play.net/developers/forums/t/antialiasing#post-9745" rel="noreferrer">in a forum</a>:</p>

<pre><code>QQuickWindow* window = (QQuickWindow*) engine.rootObjects().first();
QSurfaceFormat format;
format.setSamples(16);
window-&gt;setFormat(format)
</code></pre>

<p>But it relies on the first root object of the engine being a <code>QQuickWindow</code>, which is not documented in Qt docs. So I don't want to use that technique.</p>

<p>Another way would be to skip <code>QQmlApplicationEngine</code> and create a <code>QQuickView</code> instead. This does have a <code>setFormat</code> method letting me enable multisampling, but I'm wondering, am I losing anything by switching from <code>QQmlApplicationEngine</code> to <code>QQuickView</code>?</p>

<p>In other words, what are the differences between these two classes?</p>

<p>One difference I found is this (from <a href="http://doc.qt.io/qt-5/qqmlapplicationengine.html#details" rel="noreferrer">here</a>):</p>

<blockquote>
  <p>Unlike QQuickView, QQmlApplicationEngine does not automatically create a root window. If you are using visual items from Qt Quick, you will need to place them inside of a Window.</p>
</blockquote>

<p>This particular difference doesn't matter to me.</p>

<p>Any other differences?</p>
