水平スクロール領域があり、その中に動的に追加されたウィジェットがあります。
新しいウィジェットが追加されるたびに最後までスクロールして、ユーザーがこのメソッドを使用して最後のウィジェットを表示できるようにします。
void scrollToEnd()
{
scroll->horizontalScrollBar()->setValue(100000);
}
...
layout->addWidget(widget);
scrollToEnd();
ただし、呼び出しlayout->addWidget()
と実際のウィジェットの表示の間には遅延があります。したがって、呼び出しscrollToEnd()
は何もしません。
たとえば、MessageBox を表示して一時停止すると、すべて正常に動作します。
ウィジェットが表示されるまで待ってから、スクロール領域をスクロールする方法はありますか?