2015-07-21 84 views
1

我有一個qt小部件應用程序。我想將開關控件添加到我的表單中。 我添加到我的表單QDeclarative小部件,並將此行添加到代碼,但沒有顯示。如何將qml文件整合到qt-widgets應用程序中?

ui->declarativeView->setSource(QUrl::fromLocalFile("test.qml")); 

這是QML文件的內容(I添加文件到資源) 它在qtcreator顯示資源下/ [project_name.qrc] /test.qml

import QtQuick 2.4 
import QtQuick.Controls 1.3 
Button{ 
    text:aaaa 
} 

我加親檔案:qt + =陳述式

我在做什麼錯?

我正在使用Qt 5.4.1 QtCreator 3.3.1。

+0

你使用的是什麼版本的Qt? – techneaz

+0

@techneaz我正在使用Qt 5.4.1 QtCreator 3.3.1。 – Natile

回答

4

1.QDeclarativeView適用於較老的Qt版本。如果你正在將應用程序移植到Qt 5,那麼你可以參考這個documentation

2.對於您的應用程序,您可以使用Qt 5.x QuickView中的新類,如下所示。

在您的用戶界面中創建佈局。或者通過代碼來完成。然後添加視圖到佈局如下所示:

QQuickView *view = new QQuickView(); 
QWidget *container = QWidget::createWindowContainer(view, this); 
container->setMinimumSize(300, 200); 
container->setMaximumSize(300, 200); 

view->setSource(QUrl("qrc:/test.qml")); // Fetch this url by right clicking on your resource file. 
ui->verticalLayout->addWidget(container); 

3..pro文件只需添加快模塊:

+quick 

4.參考:Introducing QWidget::createWindowContainer()

5.注意:如果必須將URL添加到資源文件,則必須使用:/請參考here瞭解更多詳情。

相關問題