Привет всем! Переношу программу из Qt4 в Qt5. Из потока QDataStream загружает не все данные.
C++ (Qt)
file.setFileName(tfCross->fileName());
QDataStream sfile(&file);
ushort idata;
int IntCount;
QString sappVersion;
sfile >> sappVersion;
sfile >> IntCount;
setRowCount(IntCount);
sfile >> IntCount;
setColumnCount(IntCount);
sfile >> IntCount;
sfile >> TableFont;
setFont(TableFont);
gKlest->setRowCount(rowCount());
gKlest->setColumnCount(columnCount());
gKlest->create();
for (int i = 0; i < rowCount(); i++)
for (int j = 0; j < columnCount(); j++)
{
//Создание ячеек сетки
CellCrossword = new QTableWidgetItem;
setItem(i,j,CellCrossword);
setRowHeight(i,IntCount);
setColumnWidth(j,IntCount);
--------------------------
sfile >> idata; //сюда загружается 0. Вместо 84 или 67(например)
--------------------------
idata -= 1;
if(QChar(idata) == 'b')
item(i,j)->setBackground(BrushBlack);
else
item(i,j)->setBackground(BrushWhite);
}
В idata должно загружаться 2 байта для преобразования в QChar. Файл в hex-редакторе открыл - там все данные на месте. Они в потоках что-то изменили?