QTableView如何获取当前显示的可见行和列的索引?

  • 假设一个QTableView的表格,其显示过万个单元格,且这些单元格的值都是些需要实时刷新(如1秒)的值,那么通常的实现就是:定义一个1秒的定时器,定时触发for循环,自第0行0列刷新到第n行n列。

  • 但实际上,无论界面大小如何变化,我们始终能看到的都是仅有的最多几十行、十来列而已。如果每次都把所有单元格刷新一遍,耗时且浪费性能,刷新一些看不见的单元格,其实没必要。

  • 那么,怎么才能获取到QTableView的可见范围呢?
    图片说明

  • 即,获取表格中显示的首行、首列,和末行、末列,这样的话,就可以实现可见范围的刷新!注意,不是第0行0列和第n行n列。

  • 目前我的实现如下代码,期待有更好的解决办法:
    图片说明

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^