Dan*_*iel 1 c++ qt qtablewidget
我有一个 QTableWidget 可以显示大量元素(例如 20000 个元素)。然而,显示本身和上下滚动工作发现,填充小部件的工作非常缓慢。我发现构造显示的元素(字符串)的 QVector 工作得非常快,但是,将元素插入 QTableWidget 非常慢。我需要对元素进行过滤,所以如果用户用通配符过滤掉一半的元素,仍然需要清理 QTreeWidget 并插入 10000 个元素(或隐藏 10000 个同样慢的元素)。合理的快速性能在这里至关重要,因为用户每次按下按钮都不能等待几分钟。Valgrind 并没有多大帮助,因为显然很多资源被一些隐式调用的函数消耗掉了,QHeaderView::sectionSize() 和 QHeaderView::isSectionHidden()
将您的代码迁移到模型视图模式。
QStandardItemModel)并将您的所有数据放在那里。QTableView,确保一切正常QSortFilterModel模型进行快速数据过滤,或者您可以将 QProxyModel 子类化为更复杂的过滤器。