Я студент-программист, и я использую Qt для разработки графического интерфейса для работы, и у меня возникают проблемы с выяснением, как мне следует заставить эту функцию импорта работать.Немного программистов-писателей блокируют, если хотите.Пока у меня есть это для кода:
void InjectionLocationsDialogExpanded::importCSVFile()
{
QString fileName = QFileDialog::getOpenFileName(this, ("Open File"), "/home", ("csv File(*.csv)"));
QString data;
QFile importedCSV(fileName);
QStringList rowOfData;
QStringList rowData;
int tempint = 0;
data.clear();
rowOfData.clear();
rowData.clear();
if (importedCSV.open(QFile::ReadOnly))
{
data = importedCSV.readAll();
rowOfData = data.split("\n");
rowData = data.split(";");
importedCSV.close();
}
qDebug() << data;
for (int x = 0; x < rowOfData.size(); x++)
{
for (int y = 0; y < ui->tableWidgetInjectionLocationsExpandedDialog->columnCount(); y++)
{
ui->tableWidgetInjectionLocationsExpandedDialog->item(x,y)->setText(rowData[]);
}
}
}
Проблема здесь в том, что я не знаю, как получить settext каждого элемента в таблице для ссылки на следующий элемент в rowData QStringList.Мне нужно увеличить на одну позицию, но я не могу использовать int ++, потому что он в конечном итоге ищет элемент в QStringList, который не существует, и вызывает ошибку сегментации.Я также не могу использовать цикл for, чтобы ограничить число, которое мне нужно в поле местоположения, из-за текущей структуры циклов for.Я просто не могу придумать хорошую стратегию для этого.Пожалуйста, оставляйте только конструктивные комментарии, так как меня интересует только изучение или выполнение этой задачи.Спасибо за чтение!