如何混合 QStandardItemModel

How to mix QStandardItemModel

我使用 QStandardItemModel 制作了一个 TreeView,如下所示 image A

我也有一个像下面这样的 QStandardItemModel image B

现在,我想将两个模型混合在一起,为 TreeView 创建一个新模型

新的 TreeView 如下所示 image C:

示例:

QStandardItemModel * fileTree = new QStandardItemModel();
QStandardItemModel * zipTree = new QStandardItemModel();
QStandardItemModel * fullTree = new QStandardItemModel();
......
......

fileTree 是 TreeView 图片 A 的模型;

zipTree 是 TreeView 图片 B 的模型;

如何将它们混合起来为 TreeView 图像 C 制作 fullTree。

更新:

3个数据都有一个模型,只是数据不同而已。我想合并照片 C 表格 A + B 的数据。文件 a.zip -> 文件夹 a。并将 a (图像 B) 的文件列表添加到新文件夹 (a)

P/S: 不要使用 QfileSystemModel

QTreeView t;
QStandardItemModel a;
t.setModel(&a);
t.show();

我简化了Image A,构造如下:

QStandardItem* folder1 = new QStandardItem("folder1");
QStandardItem* zip = new QStandardItem("a.zip");
a.appendRow(folder1);
folder1->appendRow(zip);

构建Image B:

QStandardItemModel b;
b.appendRow(new QStandardItem("filea"));
b.appendRow(new QStandardItem("fileb"));
b.appendRow(new QStandardItem("filec"));

"Mix" 都是 Image C:

zip->setText(zip->text().remove(".zip"));
for (int i = 0; i < b.rowCount(); i++) {
    zip->appendRow(b.takeItem(i));
}