Mrdata
5th May 2011, 01:24
qmlView = new QDeclarativeView;
qmlView->setSource( QUrl::fromLocalFile( "modaldialog.qml" ) );
QObject *object = qmlView->rootObject();
QMetaObject::invokeMethod( object, "dialog_type_02",
Q_RETURN_ARG( QVariant, returnedValue ),
Q_ARG( QVariant, dlg_text )
);
QWidget *widget = qobject_cast<QWidget *>(object);//doesn't work, return null
layout->addWidget( widget );//doesn't work, above is null
//however if i replace the above 2 lines of code with this:
QGraphicsObject* graphicsObject =qobject_cast<QGraphicsObject *>(object); //works fine
scene.addItem( graphicsObject ); //works fine
why qobject_cast works ok for a QGraphicsObject and not for a QWidget coming from QML?
Why use the "layout->addWidget(...)" option? because i want a QDialog with the stuff coming from QML
qmlView->setSource( QUrl::fromLocalFile( "modaldialog.qml" ) );
QObject *object = qmlView->rootObject();
QMetaObject::invokeMethod( object, "dialog_type_02",
Q_RETURN_ARG( QVariant, returnedValue ),
Q_ARG( QVariant, dlg_text )
);
QWidget *widget = qobject_cast<QWidget *>(object);//doesn't work, return null
layout->addWidget( widget );//doesn't work, above is null
//however if i replace the above 2 lines of code with this:
QGraphicsObject* graphicsObject =qobject_cast<QGraphicsObject *>(object); //works fine
scene.addItem( graphicsObject ); //works fine
why qobject_cast works ok for a QGraphicsObject and not for a QWidget coming from QML?
Why use the "layout->addWidget(...)" option? because i want a QDialog with the stuff coming from QML