【问题标题】:Qt C++, Open file without specify path or filename [closed]Qt C++,打开文件而不指定路径或文件名[关闭]
【发布时间】:2014-05-22 09:54:44
【问题描述】:
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 文件,而不指定文件名或路径。怎么做? 谢谢。

【问题讨论】:

  • 如何引用没有文件名的文件?请详细描述。
  • vanacho 是对的,没有参考怎么能参考?
  • 如果不对文件名进行硬编码,您需要从用户那里获取它(有几个选项)
  • 我相信他打算将其用作临时文件,但我可能错了。即使这是 OP 的意思,它的措辞很糟糕......

标签: c++ qt openfiledialog


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我能想到的唯一有意义的概念是,如果您想在不关心确切路径/文件名的情况下打开 tempfile

    也许看看QTemporaryFile。来自文档:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多