2017-08-14 87 views

回答

2

如果您的應用程序是Qt5.1及以上,答案是肯定的。

您必須使用QQuickView對象並將其傳遞給QWidget的靜態函數createWindowContainer,其中QWindow與參數一樣。

QQuickView派生自QQuickWindow其源自QWindow

因此,您可以將QQuickView作爲輸入傳遞給createWindowContainer

下面是一些粗略的代碼。

//CREATE A QQuickView OBJECT. 
QQuickView *view = new QQuickView(); 

//ADD THE QQuickView OBJECT TO QWidget::createWindowContainer 
QWidget *container = QWidget::createWindowContainer(view, this); 

//ADD SOURCE 
view->setSource(QUrl("your.qml")); 

//ADD THE CONTAINER TO YOUR LAYOUT. 
ui->verticalLayout->addWidget(container); 
1

您可以使用QQuickWidget如果要插入您的QML視圖的佈局:

//CREATE THE QQuickWidget 
QQuickWidget *quickWidget = new QQuickWidget(this); 

//ADD SOURCE 
view->setSource(QUrl("your.qml")); 

//ADD THE QQuickWidget TO YOUR LAYOUT. 
ui->verticalLayout->addWidget(quickWidget); 

我適應@ katamarayudu的代碼使用QQuickWidget,而不是QQuickView

相關問題