1

我正在开发一个基于 WT 构建的应用程序。

我们有一个性能问题,因为它必须在与 WStandardItemModel 关联的 WTableView 中显示大量数据。

对于要添加到表中的每个新项目,它都会:

model->setData( row, column, data )

(发生几千次)。

有什么方法可以让它更快吗?在表中添加数据的其他方法?

生成数据可能需要 2 秒,显示数据可能需要几分钟...

4

1 回答 1

1

WStandardItemModel 是一个易于使用的通用模型,但对于非常大的模型来说并不是最优的。尝试专门化一个 WAbstractTableModel;您只需要重新实现三个方法,就可以从任何位置读取数据,或者即时计算。

一个视图需要几分钟才能显示是不正常的。我已经在具有数千个条目的表上使用了视图,而没有性能问题。您的系统是否因为在(非常大的)WStandardItemModel 中浪费了内存而进行了交换?

于 2011-07-14T08:26:37.880 回答