私は次のように使用しQQmlApplicationEngine
ています:
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
app.exec();
しかし今、アプリでマルチサンプリングを有効にしたいのですが、マルチサンプリングを有効にQQmlApplicationEngine
する方法がないようですsetFormat
。
QQmlApplicationEngine
フォーラムでそれを行う方法を見つけました:
QQuickWindow* window = (QQuickWindow*) engine.rootObjects().first();
QSurfaceFormat format;
format.setSamples(16);
window->setFormat(format)
ただし、エンジンの最初のルート オブジェクトが であることに依存していますがQQuickWindow
、これは Qt ドキュメントには記載されていません。だから私はそのテクニックを使いたくない。
別の方法は、スキップして代わりにQQmlApplicationEngine
a を作成することです。QQuickView
これにはマルチサンプリングを有効にする方法がありますが、 からにsetFormat
切り替えることで何かが失われるのではないかと思っています。QQmlApplicationEngine
QQuickView
言い換えれば、これら 2 つのクラスの違いは何ですか?
私が見つけた1つの違いはこれです(ここから):
QQuickView とは異なり、QQmlApplicationEngine はルート ウィンドウを自動的に作成しません。Qt Quick のビジュアル アイテムを使用している場合は、ウィンドウ内に配置する必要があります。
この特定の違いは私には関係ありません。
他に違いはありますか?