[Closed("Solved")]QQuickView Object Property
-
When i am creating a QObject pointer which points at the rootObject of a QDeclarativeView and i try to get a property value from QML with the function property(), it works, but when i am using a QQuickView instead of a QDeclarativeView, then i get a read access violation.
QDeclarativeView:
@QObject object = (QObject)ui->declarativeView->rootObject();
ui->declarativeView->setSource(QUrl("qrc:/qml/main.qml"));
qDebug(object->property("imageBorderColor"));@
Output:
_QVariant(QColor, QColor(ARGB 1, 0, 0, 0) ) _QQuickView:
@QQuickView view = new QQuickView();
view->setSource(QUrl("qrc:/qml/main.qml"));
object = (QObject)view->rootObject();
context = view->rootContext();
container = QWidget::createWindowContainer(view, this);
container->setGeometry(0, 0, 1440, 810);
container->show();
qDebug(object->property("imageBorderColor"));@main.qml in QDeclarativeView project
@import QtQuick 1.1Rectangle {
id: mainFrame
property color imageBorderColor: "black"
...
}@main.qml in QQuickView project:
@import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Window 2.0Rectangle {
id: mainFrame
property color imageBorderColor: "black"
...
}@Is there a way to solve this or any other way to access QML properties from Cpp using a QQuickView? Oh and i also tried:
@QDeclarativeProperty::write(object, "imageBorderColor", "red"); @-- Update --
It looks like QQuickView did not provide a rootObject. How is that possible?
-- Update --
Very strange, i was searching for a solution and i couldn't find one, but it worked fine after restarting Qt..