QQuickWidget直接就是个QWidget子类,你可以直接添加到用QtWidgets写的界面里去。
QQuickView得转换下才能添加到QtWidgets写的界面里。这是两者最主要的区别。底层的实现有差别,QQuickWidget和其他widgets结合更好。
界面如果是纯qml的,就用qquickview或者qqmlapplicationengine
QQuickView是一个便利类,可以方便的从一个qml文件创建视图。
QQmlApplicationEngine只能用于qml相关的应用,本身不会创建任何可视化元素,需要手工往qml文件添加。如果你使用Qt Quick里面的视觉item,你需要把qml里面加一个Window,然后将其放进去。
1、QQmlApplicationEngine的使用
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
ApplicationWindow {
title: qsTr("Hello World")
width: 640
height: 480
visible: true
menuBar: MenuBar {
Menu {
title: qsTr("&File")
MenuItem {
text: qsTr("&Op

本文介绍了C++中Qt Quick的相关组件QQuickWidget、QQuickView和QQmlApplicationEngine之间的区别与应用场景。QQuickWidget作为QWidget的子类,可以直接嵌入Qt Widgets界面;而QQuickView需转换后才能与Qt Widgets结合,更适合纯QML界面。QQmlApplicationEngine则主要用于qml应用,不创建可视化元素,需手动添加Window元素。文章通过三个部分详细讲解了三种组件的使用方法。
QQuickView、QQmlApplicationEngine、QQuickWidget的关系&spm=1001.2101.3001.5002&articleId=107889266&d=1&t=3&u=93782cb512884ad5ad66464e48359594)
2963

被折叠的 条评论
为什么被折叠?



