QTableView排序更新缓慢



我有一个QTableView,将QAbstractTableModel子实例设置为模型。孩子实施void sort(int columnt, Qt::SortOrder order) .我将QTableView::sortEnabled(bool)设置为 true,以便可以通过单击列标题对表进行排序。当我单击标题排序几乎立即完成时,但只有当我将鼠标移动到表格区域时,表格才会更新。我需要从sort()发出一些信号吗?或者调用函数来更新QTableView

有点棘手:发出 dataChanged( QModelIndex(

), QModelIndex() ); 排序后。

我想指出的是,传递无效索引没有记录,但我经常在我的项目中使用它。它运行良好,并且比传递大范围的有效索引要快得多,因为原因只更新可见区域。但它可能会有一些繁重的代表/自定义小部件的故障。

我在 QTreeView 上测试了 - 更新 10k 元素的范围大约需要 1,5 秒(发出数据使用有效索引更改)。当我使用无效索引时,信号被立即处理。

最新更新