2011-03-15 37 views
1

选择的编辑项。我实现了自定义QAbstractListModel显示在一个可编辑QListView。在模型中的项目必须进行排序,因此模型实现了sort()方法,以及数据存储之后,从setData()调用它。保持在而QListView

目前的行为是用户编辑一个项目,该模型被排序,该QListView被更新。但是选择仍然在发生编辑的索引处的项目上。相反,我希望选择移至编辑项目的新索引。

我怎么能与项目选择的举动?

回答

1

我终于找到了一种方法来实现这一目标。这很简单,只要连接到模型的dataChanged(QModelIndex, QModelIndex)信号并更新处理程序中的选择即可。我的错误是,我叫信号setData()排序模型。

相反,模型必须先排序,然后将修改后的项目的新指数可以发现,最后将dataChanged(QModelIndex, QModelIndex)信号必须被调用与新索引