大头鼹鼠 2022-09-23 09:26 采纳率: 0%
浏览 69
已结题

大数据读入QTableview时有时会卡死

大数据读入QTableview时有时会卡死
我的配置是阿里云的MYSQL,QT5.12 WIN10
modelCrm->select() // 这一步用来将数据显示到tableview
// 我发现select()这一步是将数据全部读入后再显示出来,比如有5万条数据,他是全部都写入tableview,再让tableview显示出来,这样就有有时候出现卡死的情况,我的想法先让他显示出来一部分,比如256条或者512条,随着我拉动tableview的垂直滑块,将数据再全部显示出来
尝试从重写selectStatement() 发现可参考的内容较少,无从下手,请赐教
便拉动tableview的滑块 边显示
  • 写回答

5条回答 默认 最新

  • 来灵 2022-09-23 10:48
    关注
    获得1.65元问题酬金
    评论
  • 小憨憨不敢~ 2022-09-23 11:04
    关注
    获得0.90元问题酬金

    动态加载,举个例子,先添加100条,很快就好了,当滑到最底部时在加载100条:

    connect(ui->listView->verticalScrollBar(),&QAbstractSlider::valueChanged,[=](int value){
            if(value == ui->listView->verticalScrollBar()->maximum()){
                loadData();
            }
        });
    
    
    评论
  • _GX_ 2022-09-23 14:59
    关注
    获得1.95元问题酬金

    如果数据量过大,可以采用

    1. 分页机制,比如每页显示100条记录,点击按钮显示下一页、上一页,或跳到哪页
    2. 动态加载,比如一开始加载100条记录,等用户滚动条移到底部时,再加载100条,依次类推
      另外也可以重写QSqlQueryModel::canFetchMore()QSqlQueryModel::fetchMore()来控制显示数据量
    评论
  • 木风可可 2022-09-26 15:02
    关注
    获得0.90元问题酬金

    https://gitee.com/sorrowfeng/QWidgetDemo/tree/master/other/dbpage
    可以看看这个参考代码,数据库分页加载的

    评论

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 利用加权最小二乘法求亚马逊各类商品的价格指标?怎么求?
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥15 Stata数据分析请教
  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料