Qt - 从文本文件中读取

use*_*175 24 qt

我有一个有三列的表视图; 我刚刚使用此代码传入写入文本文件

QFile file("/home/hamad/lesson11.txt");
if(!file.open(QIODevice::WriteOnly)) {
    QMessageBox::information(0,"error",file.errorString());
}
QString dd;

for(int row=0; row < model->rowCount(); row++) {
     dd = model->item(row,0)->text() +  ","
                 + model->item(row,1)->text() +  ","
                 + model->item(row,2)->text();

     QTextStream out(&file);
     out << dd << endl;
 }
Run Code Online (Sandbox Code Playgroud)

但是我没有成功再次阅读同一个文件,我尝试了这段代码,但我不知道它的问题在哪里

QFile file("/home/hamad/lesson11.txt");
QTextStream in(&file);
QString line = in.readLine();
while(!in.atEnd()) {

    QStringList  fields = line.split(",");

    model->appendRow(fields);

}
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

mos*_*osg 87

你必须替换字符串行

QString line = in.readLine();
Run Code Online (Sandbox Code Playgroud)

:

QFile file("/home/hamad/lesson11.txt");
if(!file.open(QIODevice::ReadOnly)) {
    QMessageBox::information(0, "error", file.errorString());
}

QTextStream in(&file);

while(!in.atEnd()) {
    QString line = in.readLine();    
    QStringList fields = line.split(",");    
    model->appendRow(fields);    
}

file.close();
Run Code Online (Sandbox Code Playgroud)

  • @ user289175:再次,你必须阅读Qt文档(例如,Qt助手).在QStandardItemModel类中,这不是QStandardItemModel :: appendRow(QStringList&)成员,而是appendRow(const QList <QStandardItem*>&)&appendRow(QStandardItem*)具有. (3认同)