记录一次优化运行时间的经验,QTableWidget竟有这么大的坑

本文记录了一次优化Qt应用运行时间的经历,主要针对使用QTableWidget添加大量数据导致的性能问题。通过预设行数避免频繁刷新和缓存磁盘数据减少I/O操作,成功将原本87s的执行时间降低到1s多,显著提升了程序效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前两天接到一个任务:一个VS2015 + qt5 + osgEarth实现的项目,在向osgEarth场景中添加卫星时,用时过长。

  1. 首先看一下代码逻辑:
    点击"添加"按钮并选择要添加的卫星后(我选择了七百多颗卫星),先将卫星相关参数添加到QTableWidget表格中,接着new出一个卫星节点加入到场景中。
  2. 定位问题
    使用clock()函数算出了时间为87s左右,这太久了。于是继续细看代码并使用clock()函数辅助定位具体耗时的位置,最终发现两个一下两个问题:
    1)添加卫星时是一个一个添加的,每添加一个都要向QTableWidget中插入一行,代码如下:
    int lastRow = tableWidget->rowCount();
    tableWidget->insertRow(lastRow)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值