2

我正在写一个 IRC 客户端(是的另一个)。长话短说。我正在编写一个服务器对话框,其中包含以下列表:

身份
    网络
        频道
        地址

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

问题是我想为 1 个模型提供 3 个视图,以最小化所有内存和数据加载。这样它就更容易管理,而不是做一堆工作。

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

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

4

2 回答 2

1

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

于 2010-12-16T13:50:40.583 回答
0

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

于 2010-05-25T20:06:48.907 回答