我有自定义QTableView
类,它根据QAbstractItemModel
显示自定义模型的内容。在模型中,我实现了所有需要的方法来支持DragAndDrop更改行顺序(使用dropMimeData()
)。
但我不知道如何在模型(和视图)更改后更新视图中的选择。
例如:
用户点击该行,它变为“已选中”;
用户将此行拖到其他位置;
行是模型和视图中的交换;
但是选择保留在第一个选定的行上。
模型如何通知视图以更改选择?
注意:我不能创建额外的信号和插槽,因为不使用MOC。
答案 0 :(得分:0)
解决方案是:
dropMimeData()
中,需要在数据更改的位置使用beginMoveRows()
和andMoveRows()
。QAbstractItemModel::rowsMoved
,我们可以在其中检索目标行的索引。