应用场景:
类似键盘上下键操纵Excel表格行的操作。连续按下下键时,会向下当前显示选中行,选中当前界面下最后一行时。继续向下选择,滑动块会向上移动一点的同时,选中行总是显示在最后一行以保证当前选中行在当前视口可见。
void QScrollArea::ensureWidgetVisible(QWidget *childWidget,
int xmargin = 50, int ymargin = 50)
官方文档:
Scrolls the contents of the scroll area so that the childWidget of QScrollArea::widget() is visible inside the viewport with margins specified in pixels by xmargin and ymargin. If the specified point cannot be reached, the contents are scrolled to the nearest valid position. The default value for both margins is 50 pixels.
This function was introduced in Qt 4.2.
有道翻译:
滚动滚动区域的内容,以便QScrollArea::widget()的childWidget在视口中可见,其边距由xmargin和ymargin以像素为单位指定。如果无法到达指定的点,则将内容滚动到最近的有效位置。两个边距的默认值都是50像素。
示例:
ui->scrollArea->ensureWidgetVisible(PushButton);