当前位置: 代码迷 >> QT开发 >> 文件输入与输出有关问题
  详细解决方案

文件输入与输出有关问题

热度:77   发布时间:2016-04-25 04:37:34.0
文件输入与输出问题
输入一些参数计算后保存,但想保存文件之前显示并且可以修改。现在能保存、显示。但就显示最后一行(保存的文本文件中有换行)而且不能修改。
代码
void openFile::on_pushButton_clicked()
{
QLabel *label=new QLabel();

bool ok;
QString l=ui.lineEdit->text();
int a1=l.toInt(&ok,16);
 
 

QFile data("output.txt");

if (data.open(QFile::WriteOnly | QFile::Truncate)) {

QTextStream out(&data);

out <<"123"<<"\r\n"
<<a1<<"\r\n"
<<"7";
  }


QFile file("output.txt");
 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
  return;
  QTextStream in(&file);
QString line;
  while (!in.atEnd()) {
  line = in.readLine();
label-> setText(line); 
  label->show();
  }

}

------解决方案--------------------
探讨

你写进去是的几行啊?data.open(QFile::WriteOnly | QFile::Truncate)是不是只能写进最后一行,你试试data.open(QFile::WriteOnly | QFile::Append)

------解决方案--------------------
楼主,其实你那个循环里把每一行都显示了,只不过是切换得太快你看不出来而已

在while循环里,你是把每一行都读出来再显示,当然到最后就是显示最后一行了

另外你这有换行符,肯定不是一整行,用label显示肯定是不行的
  相关解决方案