On Mon, 2010-09-13 at 11:24 +0200, Cornelius Hald wrote:
> I will now try to implement my own QAbstractItemModel like in this
> example[1]. However, I would prefer a more generic way. In fact the
> QObjectListModel really looks like the right thing. Do you have any idea
> what I'm doing wrong?

So I did my own model and first I got the exact same problem:

QMetaProperty::read: Unable to handle unregistered datatype
'MyListModel*' for property 'MyApp::myModel'.

The problems seems to be that I'm exposing a 'manager' class, e.g. MyApp
to QML and the data model is a property of this class.

If I expose the model directly everything is working. So, for example,
doing:
MyListModel* mod = new MyListModel();
mod->addObject(MyObject("Name 1", "bla 1"));
mod->addObject(MyObject("Name 2", "bla 2"));
ctxt->setContextProperty("myMod", mod);

I can use 'myMod' as model for ListViews.

However, if I have a class MyApp and MyApp has a property MyApp::myModel
that returns an instance of MyListModel and I expose it like:
ctxt->setContextProperty("myApp", app);

I should be able to use 'myApp.myModel' as model for a ListView.
Unfortunately this is not working. Instead I just get the error
mentioned above.

Do I have to use Q_DECLARE_METATYPE() with MyListModel? I'll give it a,
but I would be very grateful for additional hints.

Thanks!
Conny


_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-qml

Reply via email to