先从实际中遇到的一个问题开始:要自定义一个QListModel,有两种选择:
方式一:继承自QAbstractListModel
方式二:继承自QAbstractItemModel
二者都可以实现,但有差别。
请问:在方式一中
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
这个函数应该怎么写才对?
大家都知道这个函数的作用是返回列表中一共有多少行,但是这个函数怎么写才对?
举例:
int ChatListModel::rowCount(const QModelIndex &parent) const
{
// For list models only the root node (an invalid parent) should return the list's size. For all
// other (valid) parents, rowCount() should return 0 so that it does not become a tree model.
if (parent.isValid()