Qt中使用QUrl类似封装文件路径, 如何通过QUrl得到包含文件路径的文件名称
时间: 2024-09-21 15:04:16 浏览: 72
通过QT QNetworkAccessManager类实现HTTP下载文件的小工具
4星 · 用户满意度95%
在Qt中,`QUrl` 类是一个用于处理URI(统一资源标识符)的对象,它可以方便地操作URL、文件路径等。如果你想从一个QUrl对象中获取文件路径并从中提取文件名,可以按照以下步骤操作:
1. 首先,创建一个 `QUrl` 对象,并传递你的文件路径作为参数。例如:
```cpp
QUrl url("file:///path/to/your/file.txt");
```
2. 使用 `QUrl::toLocalFile()` 函数将URL转换为本地文件系统路径:
```cpp
QString filePath = url.toLocalFile();
```
这会得到类似于 "C:/path/to/your/file.txt" 的字符串。
3. 接着,你可以使用 `QFileInfo` 类或者简单的字符串处理函数来分割文件路径,取出文件名。例如,使用 `QDir` 和 `fileName()` 函数:
```cpp
QDir dir(filePath);
QString fileName = dir.fileName(); // "file.txt"
```
或者直接从 `filePath` 中截取:
```cpp
int pos = filePath.lastIndexOf('/') + 1; // 找到最后一个 '/'
fileName = filePath.mid(pos); // 从 pos 开始截取到字符串结尾
```
阅读全文