为自定义模型使用 QTableWidget 的排序功能

Posted

技术标签:

【中文标题】为自定义模型使用 QTableWidget 的排序功能【英文标题】:Use QTableWidget's sorting abilities for a custom model 【发布时间】:2012-01-23 14:34:01 【问题描述】:

我已经实现了一个 QTableView 并且需要对我的表进行排序。不过,我喜欢 QTableWidget 处理排序的方式。我可以在我的 QTableView 中以某种方式“抓取”或使用 QTableWidget 的 sortItems() 功能以避免重新实现大量 Qt 的代码吗?

【问题讨论】:

【参考方案1】:

QTableView 进行排序的好方法是使用QSortFilterProxyModel。 Qt 文档中的示例:

 QTreeView *treeView = new QTreeView;
 MyItemModel *sourceModel = new MyItemModel(this);
 QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);

 proxyModel->setSourceModel(sourceModel);
 treeView->setModel(proxyModel);

当然,您可以在此处将QTreeView 替换为QTableView

【讨论】:

以上是关于为自定义模型使用 QTableWidget 的排序功能的主要内容,如果未能解决你的问题,请参考以下文章

qtabelwidget怎么得到指定行和列的值

QTableWidget

Qt QTableWidget的用法

在 Wordpress 中,如何将自定义帖子类型的默认管理员排序顺序设置为自定义列?

使用 QTableWidget 排序

QTablewidget 简单例子