在没有指定路径或文件名的情况下打开文件

Qt C++, Open file without specify path or filename

本文关键字:情况下 文件 文件名 路径      更新时间:2023-10-16
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文件,在任何位置,没有指定文件名或路径。怎么做呢?谢谢。

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

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

也许可以看看QTemporaryFile。来自文档:

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

相关文章: