在Qt中创建复杂的树模型

时间:2010-05-22 18:23:37

标签: c++ qt treemodel

我正在写一个IRC客户端(是另一个)。长话短说。我正在写一个服务器对话框 保留一份清单:

Identity
    Networks
        Channels
        Addresses

我有3个不同的列表视图,分别用于网络,频道和地址。 当用户更改标识(组合框)时。网络列表视图将查找该特定标识的所有网络。加载网络后,它将自动选择第一个网络,然后加载该特定网络的所有通道和地址。

问题是我希望1个模型有3个视图,以最小化所有内存和数据加载。因此,它使管理更容易,而不是做大量的工作。

如果您查看QColumnView,它就是一样的。但我不需要它在一个确切的页面上,因为视图位于完全不同的选项卡上,以便更容易地通过服务器对话。

我想知道处理这种复杂性的最佳方法是什么。信息存储在SQLite数据库中。我已经编写了类来提取和存储它。只是建模是这个解决方案的痛苦部分。

2 个答案:

答案 0 :(得分:1)

我会创建一个TreeModel,然后使用QSortFilterProxyModel()在其上显示三个不同的视图。

答案 1 :(得分:0)

这样做的最佳方法是动态加载模型。当ComboBox更改身份时。删除NetworkList中的所有项目,然后重新填充它并删除其中的所有网络。