qmlView = new QDeclarativeView;
qmlView
->setSource
( QUrl::fromLocalFile( "modaldialog.qml" ) );
QObject *object
= qmlView
->rootObject
();
Q_RETURN_ARG
( QVariant, returnedValue
),
);
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
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
To copy to clipboard, switch view to plain text mode
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
Bookmarks