我想为Qt(而不是QML)创建一个窗口小部件,例如从QListWidget派生,并在向上/向下滚动时动态加载内容,因为大部分Android/iOS应用程序。Qt List Widget在滚动时加载动态内容
有谁知道哪个是最好的方法?
干杯,
我想为Qt(而不是QML)创建一个窗口小部件,例如从QListWidget派生,并在向上/向下滚动时动态加载内容,因为大部分Android/iOS应用程序。Qt List Widget在滚动时加载动态内容
有谁知道哪个是最好的方法?
干杯,
动态加载内容并不意味着它是无限的。为此,只需实现模型的fetchMore()和canFetchMore()方法。
fetchMore和canFetchMore确实很光滑,但它有点模糊了事情的工作原理。
更直接的方法,你可以在你的子分类QListWidget中使用这个函数。
void MyQListWidgetClass::scrollContentsBy(int dx, int dy)
{
QListWidget::scrollContentsBy(dx, dy);
bool scrolled_top = false;
if(this->verticalScrollBar()->value() == this->verticalScrollBar()->minimum())
scrolled_top = true;
bool scrolled_bottom = false;
if(this->verticalScrollBar()->value() == this->verticalScrollBar()->maximum())
scrolled_bottom = true;
if(scrolled_top)
qDebug() << "FIRE FIRE FIRE FIRE!!!";
if(scrolled_bottom)
qDebug() << "WATER WATER WATER WATER!!!";
}
当然,如果你想添加更多的填充,你可以从最小值/最大值中减去一些值。
嗨peppe。感谢您的回答,我将在下周进行测试,我会再次给您发短信。有一个愉快的周末, –
它只适用于列表的结束而不是列表的开始(只需向下滚动不向上滚动)。你有什么想法向上滚动? –