我有一个QTableWidget,它可以显示大量的元素(比如,20000个元素)。显示本身和上下滚动工作发现,然而,填充小部件的工作非常缓慢。我发现构建显示的元素(字符串)的QVector非常快,但是将元素插入到QTableWidget中非常慢。我需要实现对元素的过滤,所以如果用户使用通配符过滤掉一半的元素,仍然需要清除QTreeWidget并插入10000元素(或者隐藏同样慢的10000元素)。合理快速的性能在这里至关重要,因为用户每次按下按钮都不能等待几分钟。由于很显然,许多资源被一些隐式调用的函数所占用,特别是QHeaderView::sectionSize()和QHeaderView::isSectionHidden(),所以瓦伦没有多大帮助。
发布于 2014-08-18 13:39:57
将代码迁移到模型视图模式。
QStandardItemModel)并将所有数据放在那里。QTableView中显示所有数据,确保一切正常QSortFilterModel模型进行快速数据过滤,也可以将QProxyModel子类用于更复杂的筛选器。https://stackoverflow.com/questions/25362493
复制相似问题