Всем привет!
Задача: Дан QTableWidget. Нужно выгрузить его содержимое в QByteArray. Потом из этого QByteArray загрузить в другой QTableWidget.
Вопрос: есть ли красивое "code less" решение?
Что мне приходит в голову: QTableWidget -- это значит, что в реальности используется QTableView + QStandartItemModel.
Значит задача выгрузить содержимое QStandartItemModel.
Пока я придумал что-то такое разлапистое:
QDataStream ds;
QStandartItemModel *model = tw->model();
QStandartItem defaultItem;
int i,j;
QStandartItem *si;
ds << model->rowCount();
ds << model->columnCount();
for(i=0;i<model->columnCount();i++)
{ si = horizontalHeaderItem(i);
if( si == 0 ) defaultItem.write(ds);
else si->write( ds );
}
for(i=0;i<model->rowCount();i++)
{ si = verticalHeaderItem(i);
if( si == 0 ) defaultItem.write(ds);
else si->write( ds );
}
for(i=0;i<model->rowCount();i++)
{ for(j=0;j<model->columnCount();j++)
{ si = model->item(i,j);
if( si == 0 ) defaultItem.write(ds);
else si->write( ds );
}
}