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)
信号