2
阅读了一些例子后,我仍然在这里失去了一些东西。我有Qtreeview的视图和QStandardItemModel的数据接口,也使用QSortFilterProxyModel子类,但我不知道它是否相关。 这是我的逻辑: 首先,我创建QWidget的作为父模型:不能让孩子在Qtreeview中使用QStandardItemModel
QStandardItemModel m_model = new QStandardItemModel(0,4,parent);
then setSourceModel(m_model) for the widget
设置树视图与QSortFilterProxyModel。是这样的:
GroupProxyModel = new GroupSortFilterProxyModel;
GroupProxyModel->setDynamicSortFilter(true);
setSourceModel(createSubjectModel(parent));
ui.treeView_mainwindow->setModel(GroupProxyModel);
ui.treeView_mainwindow->setSortingEnabled(true);
再后来我填的第一行是这样的:
QList<QStandardItem *> items;
items.insert(0,new QStandardItem("Test 0"));
items.at(0)->setEditable(false);
m_model->insertRow(0,items);
直到现在每一件事工作正常,我看行与数据。但是,当我想 增加孩子这样行:
QModelIndex parentQModelIndex = m_model->item(0,0)->index();
m_model->insertRows(0,1,parentQModelIndex);
m_model->insertColumns(0,1,parentQModelIndex);
QModelIndex indexB = m_model->index(0, 0, parentQModelIndex);
m_model->setData(indexB,"Child test",Qt::DisplayRole);
但我没有看到孩子,为什么呢?