我需要在不同的计算机之间同步模型/转发模型。模型可以表示表格,也可以表示树木(带有子项目的条目)。设置将是:
registerSourceModel()
)QDataStream
NetworkModel
个实例
data()
查询到模型setData()
查询到模型设置同步有两种选择:
QAbstractItemModel
(可能QStandardItemModel
),包含完整缓存(所有数据的重复),只需更新远程dataChanged()
/ layoutChanged()
信号< / LI>
dataChanged()
信号)虽然选项1)将具有相当大的内存打印,因为我们将不得不复制任何相关模型,它将在大多数情况下具有非常短的响应时间,因为同步可以在需要时在后台完成。
选项2)几乎没有(几乎)没有内存使用,因为所有内容都将被直接查询。当在视图中显示大型模型时,我仍然不确定这将如何实际外观和感觉。考虑一下公司目录(或带有一些细节的亚马逊文章列表)需要逐个查询(data()
通过网络在QModelIndex
之上工作)。
结果我们可能会选择第一个选项。
我在两个选项中遇到的问题是同步/转发有效的QModelIndex
。这些在远程计算机上始终无效。我对QSortFilterProxyModel()
做了一些研究,因为这有点类似,但在同一个过程空间内。该模型为所有用于映射“过滤”指标的指标保留一个识别列表。
这是否需要我自己在服务器上保留QPersistantModelIndex()
的识别列表,并将ID的映射列表保存到我自己的QModelIndex()
(同步列表的这些唯一ID)?
还有另一个选项可以“链接”两个模型,甚至只是将整个模型放入一个容器并将其输入到我的流中吗?