Я использую 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 docs. Поэтому я не хочу использовать эту технику.
Другой способ - пропустить QQmlApplicationEngine
и создать вместо него QQuickView
. У меня есть метод setFormat
, позволяющий включить мультисэмплинг, но мне интересно, я что-то теряю, переключаясь с QQmlApplicationEngine
на QQuickView
?
Другими словами, каковы различия между этими двумя классами?
Единственное различие, которое я нашел, - это (от здесь):
В отличие от QQuickView, QQmlApplicationEngine не создает автоматически корневое окно. Если вы используете визуальные элементы из Qt Quick, вам необходимо разместить их внутри окна.
Это особое различие для меня не имеет значения.
Любые другие отличия?