qt getopenfilename获取的文件路径只有文件名
时间: 2024-09-17 21:08:58 浏览: 56
QT 文件选择,文件另存为,打开文件夹 调试可用的demo 包括单独模块类
`QFileDialog::getOpenFileName` 是 Qt 库中的一个函数,用于在一个文件选择对话框中让用户选择文件。当用户完成选择并点击确定按钮后,这个函数会返回一个包含所选文件路径及文件名的结果。如果返回的只包含了文件名而没有完整的路径,那可能是你在使用这个函数时没有正确地处理结果。
通常,`QFileDialog` 的返回值是一个 `QString` 对象,格式为 `"路径\文件名"`。如果你只想要文件名部分,可以使用 `.right()` 或者 `.mid()` 函数从字符串的某个位置截取。例如:
```cpp
QString fileName = QFileDialog::getOpenFileName(nullptr, tr("打开文件"), "", tr("所有文件(*);;文本文件 (*.txt)"));
if (!fileName.isEmpty()) {
QString filePath = fileName.left(fileName.lastIndexOf("\\") + 1); // 如果是在Windows系统下,使用"\"
qDebug() << "选择的文件名:" << filePath;
}
```
在这个例子中,`left()` 函数会在找到最后一个反斜杠 `\` 后开始截取,得到的就是文件所在的目录加上文件名。
阅读全文