我实施了一个自定义QAbstractListModel
,该自定义显示在可编辑的QListView
中。必须对模型中的项进行排序,因此模型实现sort()
方法,并在存储数据后从setData()
调用它。
当前行为是用户编辑项目,模型已排序,QListView
已更新。但选择仍保留在编辑发生的索引处的项目上。相反,我希望选择移动到已编辑项目的新索引。
如何使用项目进行选择?
答案 0 :(得分:1)
我终于找到了实现这一目标的方法。它就像连接到模型的dataChanged(QModelIndex, QModelIndex)
信号并更新处理程序中的选择一样简单。我的错误是在排序模型之前我在setData()
中调用了信号。
相反,必须首先对模型进行排序,然后才能找到修改项的新索引,最后,必须使用新索引调用dataChanged(QModelIndex, QModelIndex)
信号。 / p>