Hello, Thiago wrote in the "buildsystem thread" that Qt 6 will be source 
compatible with Qt5. As long as I fully support source-compatibility with both 
hands, I would like to ask several questions about possible source-breaking 
changes.

1) QAbstractItemModel. I want to introduce change that adds QModelIndex 
parameter to  headerData(). For now, QHeaderView ignores the rootIndex() 
property which prevents creating models with sub tables in each index (only 
tree models are supported now). The example - you need to display a struct (or, 
protobuf message) as a table. Each struct can have sub structs (or, arrays of 
structs) so the tree is not enough to display it. I wrote a working prototype 
back in 2015 which required subclassing QAIM and copying the whole QHeaderView 
into the project. In this case source compatibility can be saved by having 2 
virtual headerData methods, the one without modelIndex market deprecated.

2) QVariantList/QList<QImage> and friends. I would like to to see most of QList 
usages in Qt eliminated in favor of QVector. I won't repeat Marc's arguments 
against QList. Instead, I want to ask the other thing - is breaking user code 
that uses "QList<T> list = someQtApiFunc();" is forbidden too? If Assumption 
that QVector is API-compatible with QList (which is not true, I suppose, but 
can be mostly fixed) that should not be a big deal to replace the usages of a 
QList with "auto list = someQtApiFunc();". Qt should really evolve and stucking 
with QList for the next 10 years is a bad idea IMO.

Иван Комиссаров
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to