gpt4 book ai didi

c++ - 上传 .csv 或 .txt 文件以填充 QTableView

转载 作者:太空狗 更新时间:2023-10-29 20:58:34 25 4
gpt4 key购买 nike

最近我在开发一个图形用户界面应用程序,我想将 QTableView 的数据保存在一个 .csv 或 .txt 文件中。我使用了指南received during this question这让我想到是否也可以反过来;即,如果 QTableView 可以从 .csv 或 .txt 文件填充。再一次,我宁愿使用基于模型的设计,例如 QTableView 而不是基于项目的 QTableWidget。

任何代码片段或教程文档都会非常有帮助。

最佳答案

考虑一个 test.csv 文件(它可以由任何文本编辑器生成):

enter image description here

而后面的textstream是(如果是编程生成的):

1,2,3,\n4,5,6,\n7,8,9,\n10,11,12,\n13,14,15,

如果在 Microsoft Office Excel 中打开,它可能看起来像:

CSV values as displayed in Excel


要将此 .csv 文件读入您​​的 QTableView 模型:

QStandardItemModel *model = new QStandardItemModel;

QFile file("test.csv");
if (file.open(QIODevice::ReadOnly)) {

int lineindex = 0; // file line counter
QTextStream in(&file); // read to text stream

while (!in.atEnd()) {

// read one line from textstream(separated by "\n")
QString fileLine = in.readLine();

// parse the read line into separate pieces(tokens) with "," as the delimiter
QStringList lineToken = fileLine.split(",", QString::SkipEmptyParts);

// load parsed data to model accordingly
for (int j = 0; j < lineToken.size(); j++) {
QString value = lineToken.at(j);
QStandardItem *item = new QStandardItem(value);
model->setItem(lineindex, j, item);
}

lineindex++;
}

file.close();
}

(您可以操纵代码以满足您的表格格式)


[结果]

CSV values as displayed in QTableView

关于c++ - 上传 .csv 或 .txt 文件以填充 QTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com