我有一個水平滾動區域並在其中動態添加小部件。Qt:添加小部件後執行動作(滾動)
我希望它滾動到最後,只要添加一個新的小工具,讓用戶使用這種方法看到的最後一個部件:
void scrollToEnd()
{
scroll->horizontalScrollBar()->setValue(100000);
}
...
layout->addWidget(widget);
scrollToEnd();
然而,有叫layout->addWidget()
和實際部件之間的延遲出現。所以打電話scrollToEnd()
什麼都不做。
如果我通過,例如,顯示一個MessageBox,使一切順利,一切工作正常。
有沒有辦法等到窗口小部件顯示,然後滾動滾動區域?
有是QWidget中的showEvent(QShowEvent * event)方法,這可能會幫助您 – Kunal 2012-04-13 13:25:15
感謝您的提示。但奇怪的是還有一個延遲... – Alex 2012-04-13 15:04:51
你說你正在使用一個水平滾動區域。它是一個QScrollArea嗎? – 2012-04-13 16:35:44