• 7516阅读
  • 10回复

[提问]qt 加载数据界面卡 [复制链接]

上一主题 下一主题
离线feiyang0725
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-25
qt读取数据数据加载到界面很卡,该怎么解决啊
我从数据库里面读取数据加载到tableview上面,数据过多会很卡

QString sql = QString("select *from tab1");         value_model->setQuery(sql,ldb);   ui->tableview->setModel(value_model);     ui->tableview->resizeColumnsToContents();运行到加载tableview上时很卡住。我已经用从线程来处理的还是卡。。该怎么办?
离线voidbroken

只看该作者 1楼 发表于: 2013-02-25
数据量是什么级别的?
value_model->setQuery(sql,ldb);这句花费多长?
ui->tableview->setModel(value_model);这句花费的时间多长?
线程怎么处理的?
离线feiyang0725

只看该作者 2楼 发表于: 2013-02-25
回 1楼(voidbroken) 的帖子
是ui->tableview->setModel(value_model);用时比较长
线程直接调用这个函数
void get_values(QTableView *tab2,QSqlQueryModel *value_model)
{

     QString sql = QString("select *from testtemplatezxjc");
     value_model->setQuery(sql,ldb);
   tab2->setModel(value_model);
    tab2->resizeColumnsToContents();
    }
数据量几万条左右。。?
离线pxiao_xiao

只看该作者 3楼 发表于: 2013-02-25
QSqlRecord
离线feiyang0725

只看该作者 4楼 发表于: 2013-02-25
回 3楼(pxiao_xiao) 的帖子
??什么意思
离线feiyang0725

只看该作者 5楼 发表于: 2013-02-25
主要是加载到tableview的时候卡。。。
离线voidbroken

只看该作者 6楼 发表于: 2013-02-25
能打印加载到tableView的这一步的用时长?减少数据量试一下,如果是数据量的问题,只能自己重新写内部的数据结构了
离线hitler++

只看该作者 7楼 发表于: 2013-02-25
table 分页,这是个很老的问题了,最终解决方法都只能这样
离线feiyang0725

只看该作者 8楼 发表于: 2013-02-26
回 7楼(hitler++) 的帖子
能说说具体做法吗?
离线hitler++

只看该作者 9楼 发表于: 2013-02-26
继承下qtableview ,添加一个widget 在最底下,添加一个 class 用于保存 一同多少条,每页多少条,当前页码等,然后根据这数据,更新一堆qpushbutton 在这个widget 里面,就这么实现了
离线feiyang0725

只看该作者 10楼 发表于: 2013-02-26
回 9楼(hitler++) 的帖子
还有其他办法没,我之前看到有人说关闭QT界面刷新,更新几百万条数据不卡的。。
快速回复
限100 字节
 
上一个 下一个