Я самоучка и новичок в qt (я просто хочу научиться писать программу). Попытка загрузить файл csv в qtablewidget, но он переопределяет все столбцы и строки с одинаковыми данными. Я попытался следовать Как импортировать файл CSV в QTableWidget но я не правильно понял.
Код:
QFile file("testData.txt");
QTextStream in(&file);
QStringList setDataInrow;
QStringList rowNumbers;
QString allLine;
if(file.open(QIODevice::ReadOnly)){
allLine=in.readAll();
rowNumbers=allLine.split("\n");
file.close();
}
QTableWidget *myTable=new QTableWidget();
myTable->setRowCount(rowNumbers.size());
for(int row=0;row<rowNumbers.count();row++)
{
setDataInrow=allLine.split(";");
for(int column=0;column<setDataInrow.count();column++){
myTable->setColumnCount(setDataInrow.size());
//myTable->item(row,column)->setText(setDataInrow[column]);
QTableWidgetItem *item=new QTableWidgetItem(setDataInrow[column]);
myTable->setItem(row,column,item);
}
}
qDebug()<<"Numbers of row needed:"<<"\n"<<rowNumbers<<"\n";
qDebug()<<"Set following data to each column as per row:"<<"\n"<<setDataInrow<<setDataInrow.size();
window->setCentralWidget(myTable);
window->show();
return app.exec();
}
я пытаюсь загрузить:
John Kl;34;1335532;CA;0444344
Kuma jo;54;44432;NY;0322355
Lebal ho;24;44022;NY;0110004
Он должен быть загружен в пределах 3 строк и 5 столбцов, но он устанавливает 13 столбцов. Возможно, я не могу думать об этом правильно. Мне нужна ваша помощь с некоторым примером кода, чтобы я мог больше узнать об этом.
Поскольку мой английский не очень хорош (отстой, как мои коды :)), я сделал скриншот текущей программы, которая не работает должным образом: