2 mika85489 mika85489 于 2014.08.04 17:07 提问

QT QTableView控件 数据写入实时刷新

背景:QT编程,QTableView控件做数据库的显示

QTableView是这样创建的(tableView是QTableView创建的对象):

QStandardItemModel *model;
model=new QStandardItemModel();
ui->tableView->setModel(model);

向tableView里面写数据是使用model->setItem();来对tableView表里面的每一个item进行写。

问题:有大约两万行的数据,每行5列。那么需要执行10万次循环来执行model->setItem()函数,而且问题就在于在进行这10万次循环的时候,主程序是阻塞的,所以很慢。现在希望用什么方法可以给tableView写入100行然后就显示出来,然后每写入100行再显示出来,不阻塞主进程。
求大神解答……

2个回答

Liu_Yong_
Liu_Yong_   2017.09.21 09:36

最好不要使用QStandardItemModel,重载自QAbstractItemModel关键重写data函数。QStandardItemModel功能全,但不太适合大数据。

tangqinglin
tangqinglin   2015.11.16 18:51

重载QStandardItemModel 的 data函数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!