Qtabelview始终从0插入一行,滚动条如何保持在相同位置

Qtabelview始终从0插入一行,滚动条如何保持在相同位置,qt,qtableview,Qt,Qtableview,QTabelView从0插入一行 beginInsertRows(QModelIndex(), 0, 0); endInsertRows(); 滚动条总是在0位。但是我希望滚动条总是在中间行。视图自动增长,但是ScRabbar位置不会改变。 int count = tableview->count(); beginInsertRows(QModelIndex(), count, 0); endInsertRows(); 如果从最后一行插入,滚动条的位置不会改变 int count =

QTabelView从0插入一行

beginInsertRows(QModelIndex(), 0, 0);
endInsertRows();

滚动条总是在0位。但是我希望滚动条总是在中间行。视图自动增长,但是ScRabbar位置不会改变。

int count = tableview->count();
beginInsertRows(QModelIndex(), count, 0);
endInsertRows();
如果从最后一行插入,滚动条的位置不会改变

int count = tableview->count();
beginInsertRows(QModelIndex(), count, 0);
endInsertRows();

您能同时发布
beginInsertRows
endInsertRows
的代码吗;endInsertRows()是QAbstractItemModel的apiok,因此对于第二个示例,应该替换
beginInsertRows(QModelIndex(),count,0)beginInsertRows(QModelIndex(),count,count)进行编码>
和retry这个问题有点不清楚,但是如果您希望某一行始终位于视图的中心(如果可能),那么您可以获取相关行的QModelIndex并调用以下命令:
myTreeView->scrollTo(myItemModelIndex,QAbstractItemView::PositionAtCenter)myTreeView->scrollTo(myItemModelIndex,QAbstractItemView::PositionAtCenter)帮助我。非常感谢。