QTableView如何获取滚动条所在行的位置

QTableView how to get the scroll bar row position

void scrollBarValueChanged(int value)
{
     int row = view->rowAt(value);
}

如题,滚动条滚动时,如何获取滚动行索引?

使用 horizontalScrollBar() verticalScrollBar() 函数并从中获取滚动值。

QScrollBar *verticalScroll = ui->tableView->verticalScrollBar();
QScrollBar *horizontalScroll = ui->tableView->horizontalScrollBar();
int valueV = verticalScroll->value();
int valueH = horizontalScroll->value();

还可以使用 scrollTo 功能滚动到您的 table 单元格索引。 (水平和垂直)

ui->tableView->scrollTo( ui->tableView->model()->index(row,column) );

喜欢这张图片:

ui->tableView->scrollTo(ui->tableView->model()->index(7,3));

Qt 网站上的 QTableView 页面。

看起来 rowAt and columnAt 正是您所需要的。