我正在尝试创建一个 QTreeView 来显示来自 SQL 数据库的数据。这是一个大型数据库,因此简单地将数据加载到 QStandardItemModel 似乎令人望而却步。
Qt 的预构建 SQL 模型类都不足以完成该任务。因此,似乎有必要对 QAbstractItemModel 进行子类化。
首先,我找不到这样做的例子,所以我想知道这是否是正确的方法。
实现 QAbstractItemModel::data 非常简单。我不确定如何实现 QAbstractItemModel::parent。
Qt 的“简单树模型示例”示例将提供信息,但在该示例中,树结构在内存中用 TreeItem 类表示。我可以复制它,但如果我要复制数据库结构,那么使用 QStandardItemModel 将同样容易。如果我需要维护一个单独的数据结构(除了数据库和 QAbstractItemModel 子类)来表示树结构,那么将 QAbstractItemModel 子类化比仅使用 QStandardItemModel 有什么优势吗?