qt

Qt-leyendo de un archivo de texto



(1)

Tengo una vista de tabla con tres columnas; Acabo de pasar para escribir en el archivo de texto usando este código

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; }

Pero no consigo volver a leer el mismo archivo, probé este código, pero no sé dónde está el problema.

QFile file("/home/hamad/lesson11.txt"); QTextStream in(&file); QString line = in.readLine(); while(!in.atEnd()) { QStringList fields = line.split(","); model->appendRow(fields); }

¿Alguna ayuda, por favor?


Tienes que reemplazar la línea de cuerda

QString line = in.readLine();

en el tiempo :

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();