我是學生程序員,我正在使用Qt開發工作的GUI界面,並且我無法弄清楚如何讓這個導入功能起作用。如果你願意的話,一些程序員作家會阻止。到目前爲止,我有這個代碼:如何將CSV文件導入到QTableWidget
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循環來限制位置字段中我需要的數字。我只是想不出一個好的策略來解決這個問題。請僅留下建設性意見,因爲我只對學習或完成此任務感興趣。謝謝閱讀!
對不起,失去你;我已經更新了這個句子,以表達我的意見,這是一個錯字。我不知道你的意思是我的rowOfData/rowData定義被混淆了。 rowOfData正用於查找有多少行數據,rowdata是行中數據的列表。至於你的循環方法,我相信我已經這樣做了?請詳細說明,如果你會... – 2012-02-06 18:45:49
有趣的通常這樣的評論幫助過濾出這樣的評論。感謝您的幫助。 – 2012-02-06 18:52:14