在 Qt Widgets 中使用 QML
Qt 提供了两个类用来显示 QML 视图:QQuickWidget
和 QQuickView
。
QQuickWidget 继承自 QWidget。用它来加载的 QML 源,它天然就是一个 Widget,用法相当于一般的 Qt Widget。
QQuickView 继承自 QQuickWindow,天然是一个 Window,想要嵌入到 Widget 中显示需要借助 QWidget 的静态方法:createWindowContainer()
。
一、使用 QQuickWidget
QQuickWidget *view = new QQuickWidget(this);
view->setResizeMode(QQuickWidget::SizeRootObjectToView);
view->setSource(QUrl("qrc:/RotatingSquare.qml"));
centralWidget()->layout()->addWidget(view);
view->show();
二、使用 QQuickView
QQuickView *view = new QQuickView;
view->setResizeMode(QQuickView::SizeRootObjectToView);
QWidget *container = QWidget::createWindowContainer(view,