我有一个QStandardItemModel,它包含我的数据,大约有5000行。我想分批将数据插入QScrollArea。如果我完全插入它,性能变得非常慢。因此,我希望在QScrollArea中的视口需要时添加数据。起初我已经为QScrollArea加载了500行。当用户滚动时,我希望将更多数据添加到QScrollArea的视口中。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
QScrollArea(http://doc.qt.io/qt-4.8/qscrollarea.html)继承了函数
QScrollBar * QAbstractScrollArea::verticalScrollBar() const
所以你可以像这样获得ScrollBar
QScrollBar* scroll = ui->scrollarea->verticalScrollBar();
并将值连接到插槽
QObject::connect( scroll , SIGNAL(valueChanged(int)) ,this , SLOT(addvalues(int)) );
在addvalues插槽中,您可以检查滚动条位置并根据需要添加值。