Qt对列进行排序
Qt sort columns
我有一个带有treeView的Qt小部件,它从组件外部更新(每隔几毫秒)。我已经在树视图中添加了一个标题,现在我希望对元素进行排序:
treeView->header()->setClickable(true);
treeView->header()->setSortIndicatorShown(true);
我可以点击标题,对幂等进行排序,但一旦新数据出现并填充树,我希望它能自动更新。最简单的方法是什么?
干杯。
为此使用QSortFilterProxyModel
。
QTreeView *treeView = new QTreeView;
MyItemModel *sourceModel = new MyItemModel(this);
QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(sourceModel);
treeView->setModel(proxyModel);
当您获取并设置新数据时,请使用void QSortFilterProxyModel::sort ( int column, Qt::SortOrder order = Qt::AscendingOrder )
方法
例如:
proxyModel->sort(1);
看起来你使用的是QTimer
,所以你可以在连接timeout
信号的插槽中使用sort()
方法。
相关文章:
- Qt VTK交互风格的信号到小部件
- 二叉排序树无法编译
- QT在错误的班级中寻找空位
- 如何在Qt 4.6.2中对QStringList进行数字排序,其中QCollator不可用
- QT TreeView问题与排序模型一起使用
- 按列进行排序后,如何从qtablewidget :: item(qt bug?)中获取正确的行
- 关于在模型/视图Qt文档中排序的描述可能是错误的
- 使用 Qt 对文件名进行自然排序
- QT 排序模型并在表视图中显示
- 是否有Qt对话框或小部件可以交互式地对字符串列表进行排序
- 连接两个大型 QVector 并对其进行排序的最快方法 (C++/Qt)
- 使用 Qt/C++ 的排序算法 - 对结构的 QList 进行排序
- C++Qt使用Quicksort按字母顺序对字符串进行排序
- Qt对列进行排序
- Qt foreach循环排序与QList的for循环排序
- *类型元素容器的qt排序
- c++ /Qt:根据Windows资源管理器中当前应用的排序来获取目录中的文件
- Qt中的项在树视图中没有排序
- 在Qt中使用SQL对表元素进行非常规排序
- 按字母顺序更新和排序Qt ComboBox