问题:qt 控件加载大量数据时初始化时间很长,界面比较卡顿。如 QCombobox, QTableView;
解决:这些控件都有滚动条,可以利用滚动条进行分页显示。
一开始只加载部分数据,当用户拖动滚动条到底部时,再加载一部分数据。
QTableView* table = new QTableView();
//通过信号与槽触发,QScrollBar 有个 valueChanged(int) 信号
connect(table->verticalScrollBar, SIGNAL(valueChanged(int), this, SLOT(addTable(int))));
// 自定义槽函数,判断是否到滚动条底部
void addTable(int value) {
// 未到滚动条底部,不做操作
if (value < table->verticalScrollBar->maximum())
return;
// 到滚动条底部
do something;
}