【发布时间】:2012-08-28 22:46:54
【问题描述】:
我将QTableView 与QAbstractTableModel 和QSortFilterProxyModel 一起使用,以便我可以通过单击表格标题对项目进行排序。我想为用户添加选项,通过拖动它们来手动对视图中的行进行排序。我不需要能够从/向任何外部应用程序拖放,只是为了更改列表中的顺序。我也不需要更改模型中的数据,我只希望视图中的顺序不同。
我一直在查看文档,似乎我必须实现mimeTypes、mimeData 和dropMimeData,但这很快就会变得非常复杂!我模型中的一些数据实际上并没有显示在视图中,就像我说的我不想改变模型中数据的顺序。有没有一种方法可以简单地拖动项目来改变它们的排序(就像标题已经能够做到的那样)而不需要大量的编码?
【问题讨论】:
-
您还有问题吗?我可以尝试给你一个如何轻松拖放的答案。但是,根据我的经验,不可能将特定行插入到 sorted 模型中:如果您有一个条目“a”,并告诉它在任何行中插入“b”,它将始终插入“a”下方。
标签: qtableview