Qt给文件完整路径,怎样去掉文件名获得文件路径
时间: 2024-09-09 08:03:56 浏览: 68
一文讲清Python PyQt5的控件如何实现拖放获取文件路径(markdown)
在Qt中,如果你想给定一个文件的完整路径,并且需要去掉文件名以获得仅包含目录路径的字符串,可以使用`QFileInfo`类来实现这一功能。`QFileInfo`类提供了文件信息的接口,其中包含了`filePath()`和`fileName()`方法。你可以通过`QFileInfo`对象调用`filePath()`方法获取完整路径,然后通过`fileName()`方法获取文件名,最后使用`QString`的`left()`或`remove()`方法来去除文件名部分。
下面是一个具体的示例代码:
```cpp
#include <QFileInfo>
#include <QString>
// 假设有一个完整的文件路径
QString fullPath = "/home/user/documents/report.txt";
// 使用QFileInfo来获取文件名
QFileInfo fileInfo(fullPath);
QString directoryPath = fileInfo.absolutePath(); // 使用absolutePath()直接获取目录路径
// 如果你想通过字符串操作来实现,可以这样做
QString filePath = fileInfo.filePath();
QString fileName = fileInfo.fileName();
QString directoryPathFromStr = filePath.left(filePath.lastIndexOf(fileName));
// 输出目录路径以验证结果
qDebug() << "Directory Path:" << directoryPath; // 输出: Directory Path: /home/user/documents
qDebug() << "Directory Path from String:" << directoryPathFromStr; // 输出: Directory Path from String: /home/user/documents
```
阅读全文