On Sun, Nov 13, 2011 at 6:11 AM, Andre Somers <an...@familiesomers.nl>wrote:
> Op 13-11-2011 11:33, Johan Paul schreef: > > In general Qt Quick (at least 1) is in general not very good with > > dynamically changing data models in List views. > > > > And in any more complicated cases than showing a few static items in a > > QML List, I would go with exposing a QAbstractListModel to Qt Quick > > instead of the QList<QObject *> approach. > > > > > http://doc.qt.nokia.com/latest/qdeclarativemodels.html#qabstractitemmodel > > > > Then, at least in theory, you have the possibility to efficiently change > > the content of your model asynchronously. > > > > > > Cheers, > > > > Johan > > > > > >> Hi, > >> > >> I was previously adding objects one-by-one... I tried updating > >> everything at once as you mentioned (ie. with QObjectList) and there was > >> no delay at all, which is awesome :) > >> However, doing this isn't really ideal in all cases -- for example, if I > >> asynchronously receive a bunch of objects I need to update the view > >> with, I'm stuck. > Not really. You can also append a QObjectList. Just make sure that you > don't call append or insert more often than needed. You can use a scheme > like I detailed here [1] to prevent making changes too often. > Was [1] supposed to be a link? > >> > >> Also as an aside (but related question), is using QObjectListModel with > >> threading safe? > Object or methods on objects that are not explicitly documented as > thread save, should not be assumed to be be thread save. > >> Ie, am I allowed to use it outside of the main thread? > No, but you can use signals and slots to communicate in a thread save way. > >> If you try to move QObjectListModel into its own thread, you need to > >> register the QModelIndex object as a metatype, and after doing that, > >> things *seemed* to work fine, but I was wondering if anyone had a > >> concrete answer. > Don't do that. Objects that interact with the GUI, need to live in the > GUI thread. With Qt 2, that becomes a bit different, but for now, I > guess you should stick to that adagium. > > André > > _______________________________________________ > Qt-qml mailing list > Qt-qml@qt.nokia.com > http://lists.qt.nokia.com/mailman/listinfo/qt-qml >
_______________________________________________ Qt-qml mailing list Qt-qml@qt.nokia.com http://lists.qt.nokia.com/mailman/listinfo/qt-qml