使用QTableWidget刷新数据后,经常会自动展示为table首行。为了显示刷新数据前所在的位置,解决办法如下:
先记住滚动条位置,刷新数据后,再重置滚动条位置。
伪代码如下:
QScrollBar *scrollBar = verticalScrollBar();
int barPos = scrollBar->value();
//refresh
scrollBar->setValue(barPos);
更好的解决办法:
而最好的使用方式为使用QTableView+mode方式,此时更新数据后,当前窗口画面不会自动显示行table中的首行。