Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

Create and Control a QML Component from C++

$
0
0
This is how I did it, please go through it and suggest any changes or different approaches for doing the same. QtQuick2ApplicationViewer *viewer = QtQuick2ApplicationViewer::instance(); QQmlContext *context = viewer->rootContext(); context->setContextProperty("_client", &client);   /*Main QML File*/ viewer->setMainQmlFile(QStringLiteral("qml/qml-dynamic/main.qml")); viewer->showExpanded();   QQmlEngine *engine = viewer->engine(); /*dynamically loaded component*/ QQmlComponent component(engine, QUrl::fromLocalFile("qml/qml-dynamic/dyn-comp.qml")); QObject *object = component.create();   QQuickItem *item = qobject_cast<QQuickItem*>(object);   /*In qml, items won't get drawn unless they are parented to the view.*/ /* You should always use QObject::setProperty(), QDeclarativeProperty * or QMetaProperty::write() to change a QML property value, to ensure * the QML engine is made aware of the property change. */ object->setProperty("parent", QVariant::fromValue<QObject*>(viewer->rootObject()));   /*This works same as setProperty*/ // QQmlProperty::write(object, "parent" // , QVariant::fromValue<QObject*>(viewer->rootObject()));   QQmlEngine::setObjectOwnership(object, QQmlEngine::CppOwnership);   /*Set X and Y properties of the item created.*/ item->setx(150); item->setY(150);

Viewing all articles
Browse latest Browse all 4972

Latest Images

Trending Articles



Latest Images