在QT中打开和读取文件



我正在尝试使用菜单栏打开文件(硬编码(时,单击'文件| open'。该文件应附加到并显示每行。我的功能找不到文件。因此,单击"打开"后,我会返回" Trace.txt"。我将文件保存在与其他项目文件的目录中相同的目录中。我想知道我是否尚未正确打开文件?谁能查看我的代码,看看您是否遇到了我没有的错误?

void MainWindow::readFile(){
    infoLabel->setText(tr("Invoked <b>File|Open</b>"));
    QString filename="trace.txt";
    QFile file(filename);
    if(!file.exists()){
        qDebug() << "File <i>cannot</i> be found "<<filename;
    }else{
        qDebug() << filename<<" Opening...";
    }
    QString line;
    textEdit->clear();
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)){
        QTextStream stream(&file);
        while (!stream.atEnd()){
            line = stream.readLine();
            textEdit->setText(textEdit->toPlainText()+"0x"+line+"n");
            qDebug() << "line: "<<line;
        }
    }
    file.close();
}

更新:我将Qfile对象更改为直接路径,并找到了文件。另一方面,我正在以无限的循环阅读它,该循环从未到达文本编辑,并不断输出调试器。有什么想法吗?

使用Current或CurrentPath((查看您正在使用的目录。请参阅此示例以了解当前目录:

QFile file;
QDir::setCurrent("/tmp");
file.setFileName("readme.txt");
QDir::setCurrent("/home");
file.open(QIODevice::ReadOnly);      // opens "/home/readme.txt" under Unix

来自http://doc.qt.io/qt-5/qfile.html#qfile

相关内容

  • 没有找到相关文章