我使用QStandardItemModel创建了一个TreeView,如下面的图像A
我还有一个QStandardItemModel,如下图图像B
现在,我想将两个模型混合在一起,为TreeView创建一个新模型
新的TreeView类似于图像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 - >文件夹并将(图像B)的文件列表添加到新文件夹(a)P / S:不要使用QfileSystemModel
答案 0 :(得分:1)
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"));
“混合”均为Image C
:
zip->setText(zip->text().remove(".zip"));
for (int i = 0; i < b.rowCount(); i++) {
zip->appendRow(b.takeItem(i));
}