QTableWidget 分批查询数据库显示

如果数据库的数据很多,一次性查询显示,会卡住界面,可以分批查询显示,当滑动条向下滚动时再继续查询加载。

获取滚动条:pVScrollBar = tableWidget->verticalScrollBar();

滚动条的信号:valueChanged 和 rangeChanged

int iSearchIndex = 0;//记录每次查询开始的下标,如每次查询20条记录,第一次iSearchIndex = 0;查询加载后iSearchIndex = 20;再次查询从20开始。(具体取决数据库的下标)

void onValueChanged (int value)
{
    if (0 == value && pVScrollBar->maximum() > 0)
    {
        //上拉刷新
       iSearchIndex = 0;//上滑到顶端
       //从头即下标0开始查询加载
    }
    else if (pVScrollBar->maximum() == value)
    {
        //下拉继续查询加载
    }
}

int iSearchStep = 20;每次查询加载条数

void onRangeChanged(int min, int max)
{
    if (max - min < iSearchStep)
    {
       //继续加载
    }
}

你可能感兴趣的:(Qt)