【发布时间】:2014-03-12 11:58:30
【问题描述】:
我在 Qt 5.2.1 中编写了一个程序,将一些数据写入文件,现在我想读取它并显示它。 (在文本编辑或任何其他小部件中)
这是我的代码(我认为相关的部分)-
但我没有得到欲望的结果......你能调查一下并告诉我我做错了什么
void MainWindow::on_Search_clicked()
{
QString name ;
name = ui->Search_name->text();
QFile readfile("data.txt");
if(!readfile.open(QIODevice::ReadOnly))
{
qDebug() << "error opening file: " << readfile.error();
return;
}
QTextStream instream(&readfile);
QString line = instream.readLine();
// ui->text is a QPlainTextEdit*
ui->text->insertPlainText(line);
readfile.close();
return;
}
【问题讨论】:
-
一些关于风格的问题:你的代码有很多冗余结构。
QFile是一个合适的 C++ 资源类。您不需要显式关闭它,毕竟您不是用 C 语言编写的。你不需要return。您不需要文本流 - 只需调用readFile.readLine()。代替qDebug(),qWarning()会更合适——毕竟,它不仅仅是一个调试信息,它是一个警告。
标签: c++ qt file user-interface qplaintextedit