Qt4 在QListView中保持已编辑项处于选中状态

Qt4 在QListView中保持已编辑项处于选中状态,qt4,pyqt4,Qt4,Pyqt4,我已经实现了一个自定义的QAbstractListModel,它显示在可编辑的QListView中。必须对模型中的项进行排序,因此模型实现sort()方法,并在存储数据后从setData()调用它 当前行为是用户编辑一个项目,对模型进行排序,并更新QListView。但选择仍保留在发生编辑的索引处的项目上。相反,我希望选择移动到编辑项的新索引 我怎样才能让选择与项目一起移动?我终于找到了实现这一点的方法。只需连接到模型的dataChanged(QModelIndex,QModelIndex)信号

我已经实现了一个自定义的
QAbstractListModel
,它显示在可编辑的
QListView
中。必须对模型中的项进行排序,因此模型实现
sort()
方法,并在存储数据后从
setData()
调用它

当前行为是用户编辑一个项目,对模型进行排序,并更新
QListView
。但选择仍保留在发生编辑的索引处的项目上。相反,我希望选择移动到编辑项的新索引


我怎样才能让选择与项目一起移动?

我终于找到了实现这一点的方法。只需连接到模型的
dataChanged(QModelIndex,QModelIndex)
信号并更新处理程序中的选择即可。我的错误是在对模型排序之前调用了
setData()
中的信号


相反,必须首先对模型进行排序,然后才能找到修改项的新索引,最后,必须使用新索引调用
dataChanged(QModelIndex,QModelIndex)
信号。

我终于找到了实现这一点的方法。只需连接到模型的
dataChanged(QModelIndex,QModelIndex)
信号并更新处理程序中的选择即可。我的错误是在对模型排序之前调用了
setData()
中的信号

相反,必须首先对模型进行排序,然后才能找到修改项的新索引,最后,必须使用新索引调用
dataChanged(QModelIndex,QModelIndex)
信号