Сначала подготовил код для редактора таблицы на основе QTableView. Потом подумал зачем извращаться с "моделями", удалил код и переписал под QTableWidget. 2000 записей с построчной записью пишется секунд 15. Планируется выводить в будещм до 300000 записей. Но видимо с такими скоростями мне это не светит. Вижу, что народ рекомендует использовать в таких случаях model based таблицы. Опять чтоль переписывать все под QTableView
?
Есть какие-нибудь решения как ускорить вывод записей ? Планируется работа с большими объемами данных...
добавлено спустя 5 часов 42 минуты: Разобрался в чем дело. Построчное добавление элементов в таблицу ну очень медленное, поэтому если надо добавить кучу элементов, то сначала надо узнать будущее количество строк и установить для QTableWidget это количество.
int rows = 0;
while (query.next()) rows++; // подсчитываем количество строк
query.seek(-1); // ставим перед первой записью
selectFreight.tbwFreights->setRowCount(rows); // устанавливаем будущее число строк
int iRows=0;
while (query.next())
{
int inc = query.value(0).toInt();
for (int i=1; i < fieldscount; i++)
{
QTableWidgetItem *item = new QTableWidgetItem;
item->setData(Qt::DisplayRole,query.value(i));
item->setData(Qt::UserRole,qVariantFromValue(inc));
selectFreight.tbwFreights->setItem(iRows,i-1,item);
}
iRows++;
}
Теперь заполнение таблицы на 2000 записей идет не 10 секунд, а 0.1.
Значит 300 000 записей у меня смогут вывестись за 15 секунд.
Надо будет пропробывать еще с моделью.