Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Qt中创建复杂树模型_C++_Qt_Treemodel - Fatal编程技术网

C++ 在Qt中创建复杂树模型

C++ 在Qt中创建复杂树模型,c++,qt,treemodel,C++,Qt,Treemodel,我正在写一个IRC客户端(是的,另一个)。长话短说。我正在写一个服务器对话 它保存了以下内容的列表: Identity Networks Channels Addresses 身份 网络 渠道 地址 我有3个不同的列表视图,分别用于网络、频道和地址。 当用户更改标识时(组合框)。网络列表视图将查找该特定标识的所有网络。加载网络后,它将自动选择第一个网络,然后加载该特定网络的所有频道和地址 问题是我想要一个模型有三个视图,以最小化所有内存和数据加载。这样一来

我正在写一个IRC客户端(是的,另一个)。长话短说。我正在写一个服务器对话 它保存了以下内容的列表:

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

问题是我想要一个模型有三个视图,以最小化所有内存和数据加载。这样一来,管理起来就容易多了,而且不用做很多工作

如果你看QColumnView,它是完全一样的。但我不需要将它放在一个确切的页面上,因为视图位于完全不同的选项卡上,以便更轻松地浏览服务器对话


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

最好的方法就是动态加载模型。当组合框更改标识时。删除网络列表中的所有项目,然后重新填充并删除其中的所有网络。

我将创建一个树模型,然后使用QSortFilterProxyModel()在其上显示三个不同的视图