我有一个QTableView,我需要实现一些向上翻页功能。
我通常会将QModelIndexes传递给模型,以确定它应滚动到的内容。
QModelIndex top = indexAt( rect().topLeft() ); // always good (row 0)
QModelIndex btm = indexAt( rect().bottomLeft() ); // always bad (last visible row + 4);
我已经做了一些烦躁的rect()。bottomLeft()来看看horizontalScrollBar()是否可见,但它仍然是3行。这是宜居的,但并不理想。我肯定会破解它并将其偏移一个静态行数会在字体大小不同时将其破坏。
老实说,如果你能告诉QScrollBar向上或向下滚动一个单步,我会没事的,但显然这太有道理了。
答案 0 :(得分:1)
rect()
是什么?你最有可能要求一个错误的。请注意,这些视图是滚动区域,您应关注的rect()
是viewport()
的视图。