Qt C ++,打开文件而不指定路径或文件名

时间:2014-05-22 09:54:45

标签: c++ qt openfiledialog

QString filename = "F:/tests/lineText.txt";
QFile myfile(filename);

if(!myfile.open(QIODevice::ReadOnly | QIODevice::Text)) {
    QMessageBox::information(0,"Fail!", myfile.errorString());
    return;
}

QTextStream in(&myfile);
...

我想在任何位置打开任何TXT文件,而不指定文件名或路径。怎么做? 感谢。

2 个答案:

答案 0 :(得分:1)

我能想到的唯一有意义的概念是,如果你想打开一个tempfile而不关心确切的路径/文件名。

也许看看QTemporaryFile。来自文档:

  

使用文件模板" qt_temp.XXXXXX"在QDir :: tempPath()中构造QTemporaryFile。该文件存储在系统的临时目录中。

答案 1 :(得分:1)

你不是很具体,但如果我理解正确,你实际上希望能够不对路径进行硬编码,而是在运行时获取它。您可以使用 QFileDialog 类从用户获取路径 - 这将创建一个熟悉的弹出窗口,允许您选择您有权打开的任何文件。您还可以根据您设置的某些条件构建表示路径和文件名的字符串,然后将结果字符串传递给QFile。