假设一个QTableView的表格,其显示过万个单元格,且这些单元格的值都是些需要实时刷新(如1秒)的值,那么通常的实现就是:定义一个1秒的定时器,定时触发for循环,自第0行0列刷新到第n行n列。
但实际上,无论界面大小如何变化,我们始终能看到的都是仅有的最多几十行、十来列而已。如果每次都把所有单元格刷新一遍,耗时且浪费性能,刷新一些看不见的单元格,其实没必要。
那么,怎么才能获取到QTableView的可见范围呢?
即,获取表格中显示的首行、首列,和末行、末列,这样的话,就可以实现可见范围的刷新!注意,不是第0行0列和第n行n列。
目前我的实现如下代码,期待有更好的解决办法: