[Development] Qt CS 2013 Itemview session report

Stephen Kelly stephen.kelly at kdab.com
Mon Jul 22 11:23:42 CEST 2013

Hi there,

I hosted a session about the state of the itemmodels and itemviews in Qt. 

I mentioned what has been going on in the latest releases and work that's 
being done by others (Thanks Thorbjørn :) ).

We discussed the use of the QAbstractItemModel API with asynchronously updated 
data. For example, the setData method must be implemented to return a bool, 
which appears to mean that the update must be done synchronously. The reality 
is that the return value is only relevant to handling of events with 
delegates. That could maybe be documented better. Models can still be 
implemented in an async way by starting a job and returning immediately, then 
emitting dataChanged when the job is done.

We also discussed briefly the idea of treating a model implementation as read-
only (because it is not as type-safe as the actual data as it uses QVariant), 
and having a separate API for updates which is typesafe.

We also discussed the issue of QML integration with regard to the above 
points, and with regard to tree processing in QtQuick. The solution for that 
is not necessarily attempting a functionally verbatim QTreeView implementation 
using QML API, but there may be better options. Some research is needed there.

Alan Alpert hosted a separate follow-up session on itemview implementation in 
QML, but I was not able to attend.


Join us in October at Qt Developer Days 2013 - https://devdays.kdab.com

Stephen Kelly <stephen.kelly at kdab.com> | Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-Independent Software Solutions
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4842 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130722/76b50d33/attachment.bin>

More information about the Development mailing list