本文章只针对QTableWidget列表的特殊需求,列表在需要跳转的到整个列表的任意位置,如下图:
图中已知整个列表的行数,跳转到其中一个产品的开头
tableWidget->verticalScrollBar()->setSliderPosition(row)
仅需这一行代码就够了。但是当我们对竖直滚动条做了像素滚动:
tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixel);
tableWidget->verticalScrollBar()->setSingleStep(2);
此时setSliderPosition(1)就是滚动到2像素的位置,而不是第二行;
所以要尝试,一行的像素是多少,使用口头二分法,三次应该可以找到,我的这个以后像素是23;所以使用
tableWidget->verticalScrollBar()->setSliderPosition(row * 23)