당신은 사용하여 장면에 QDeclarativeView
에 QML을 추가 할 수 있습니다 :
QDeclarativeView view;
view.setSource(QUrl("qrc:view.qml"));
view.setStyleSheet("background-color:transparent");
QGraphicsProxyWidget * item = myScene->addWidget((QWidget *)view);
QtQuick 2.0 당신이 QQuickView
을 포함 할 수 있습니다
QList<QObject*> dataList;
dataList.append(new DataObject("Item 1", "red"));
dataList.append(new DataObject("Item 2", "green"));
QDeclarativeEngine engine ;
QDeclarativeContext *context = engine.rootContext();
context->setContextProperty("myModel", QVariant::fromValue(dataList));
QUrl url("qrc:view.qml") ;
QDeclarativeComponent component(&engine,url) ;
QDeclarativeItem *item = qobject_cast <QDeclarativeItem *>(component.create());
item->setFlag(QGraphicsItem::ItemHasNoContents, false);
myScene->addItem(item);
그리고 여기 내 QML 파일입니다 createWindowContainer
을 사용하는 위젯 :
QQuickView *view = new QQuickView();
...
QWidget *container = QWidget::createWindowContainer(view);
container->setMinimumSize(...);
container->setMaximumSize(...);
container->setFocusPolicy(Qt::TabFocus);
QGraphicsProxyWidget * item = myScene->addWidget((QWidget *)container);
QML 파일을 구걸 할 때'import QtQuick 1.0 '을 추가하고 로그 내용을 확인하십시오 (오류보고가 있어야합니다). –
@MarekR qDebug() << component.errors()가 제공합니다. 그리고 myScene-> items(). size()를 검사하면 일부 항목이 추가되었음을 알 수 있습니다. –
@MarekR Btw, QgQuicsScene과 함께 QtQuick2.0을 사용할 수 없습니까? –