在鼠标进入TableView后,model的rowcount函数被调用了230W次,以至于这段期间内程序无法处理鼠标的其他事件,出现卡顿现象。
行数和rowcount的调用次数关系大致如下:
行数 调用次数
10 60
30 470
100 5000
500 12W
2100 230W
这些调用是出现在2次viewportEvent之间的
鼠标只要在TableView中停下来,就会出现这个问题。如果鼠标在TableView中移动但最后移到TableView范围外,就不会触发这个问题。
有人知道这是什么原因造成的吗?要如何解决这个问题?