为自定义模型使用 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 的排序功能的主要内容,如果未能解决你的问题,请参考以下文章