读书人

文件输入与输出有关问题

发布时间: 2012-08-13 13:21:53 作者: rapoo

文件输入与输出问题
输入一些参数计算后保存,但想保存文件之前显示并且可以修改。现在能保存、显示。但就显示最后一行(保存的文本文件中有换行)而且不能修改。
代码
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显示肯定是不行的

读书人网 >QT开发

热点推荐