我在树中有 QStandardItemModel,我需要编辑一些项目。我需要做同样的动作,用户可以通过双击来做。
项目是可编辑的。
要开始编辑项目,您需要调用视图的此插槽(而不是模型!):
myView.edit(index);
您也可以通过 直接设置新值QAbstractItemModel.setData
。此默认Qt.EditRole
角色与编辑完成时视图使用的角色相同:
myModel.setData(index, newValue);
whereindex
引用您要编辑的项目。
您可以通过询问模型来创建这样的:QModelIndex
myModel.index(row, column); # for a root item
myModel.index(row, column, parent); # for a children of "parent"
因此,例如,如果要将第二个根项中的第三项设置为“foo”,请编写:
index1 = myModel.index(2, 1);
index2 = myModel.index(3, 1, index1);
myModel.setData(index2, "foo");