我正在写一个IRC客户端(是另一个)。长话短说。我正在写一个服务器对话框 保留一份清单:
Identity Networks Channels Addresses
我有3个不同的列表视图,分别用于网络,频道和地址。 当用户更改标识(组合框)时。网络列表视图将查找该特定标识的所有网络。加载网络后,它将自动选择第一个网络,然后加载该特定网络的所有通道和地址。
问题是我希望1个模型有3个视图,以最小化所有内存和数据加载。因此,它使管理更容易,而不是做大量的工作。
如果您查看QColumnView,它就是一样的。但我不需要它在一个确切的页面上,因为视图位于完全不同的选项卡上,以便更容易地通过服务器对话。
我想知道处理这种复杂性的最佳方法是什么。信息存储在SQLite数据库中。我已经编写了类来提取和存储它。只是建模是这个解决方案的痛苦部分。
答案 0 :(得分:1)
我会创建一个TreeModel,然后使用QSortFilterProxyModel()在其上显示三个不同的视图。
答案 1 :(得分:0)
这样做的最佳方法是动态加载模型。当ComboBox更改身份时。删除NetworkList中的所有项目,然后重新填充它并删除其中的所有网络。