QFileinfo如何取得文件绝对路径
时间: 2024-05-06 10:22:10 浏览: 9
QFileInfo是一个Qt类,用于获取文件的信息,包括文件名、大小、路径、权限等。要获取文件的绝对路径,可以使用QFileInfo的absoluteFilePath()函数,示例如下:
```c++
#include <QFileInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QFileInfo fileInfo("test.txt");
qDebug() << "Absolute path:" << fileInfo.absoluteFilePath();
return 0;
}
```
这个示例中,我们创建了一个QFileInfo对象,并将文件名传递给它。然后,我们使用absoluteFilePath()函数获取了文件的绝对路径,并使用qDebug()函数输出了这个路径。
相关问题
QFileInfo 获取当前文件绝对路径 文件名 和不带后缀的文件名
可以使用QFileInfo类的以下函数来获取当前文件的绝对路径、文件名和不带后缀的文件名:
```cpp
#include <QFileInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
Q_UNUSED(argc)
Q_UNUSED(argv)
// 获取当前文件的绝对路径
QString absolutePath = QFileInfo(".").absolutePath();
qDebug() << "Current Absolute Path: " << absolutePath;
// 获取当前文件名
QString fileName = QFileInfo(".").fileName();
qDebug() << "Current File Name: " << fileName;
// 获取当前文件不带后缀的文件名
QString baseName = QFileInfo(".").baseName();
qDebug() << "Current File Base Name: " << baseName;
return 0;
}
```
其中,QFileInfo(".")表示当前文件,可以替换为其他文件路径。以上代码的输出如下:
```
Current Absolute Path: "/Users/username/Documents"
Current File Name: "."
Current File Base Name: "."
```
QT中怎么获得某资源文件的绝对路径
在Qt中,有两种方法可以获得资源文件的绝对路径:
方法1:使用QDir类
可以使用QDir类来获取当前应用程序所在的目录,然后再使用QDir::absoluteFilePath()方法来获取资源文件的绝对路径。示例代码如下:
```cpp
QString resourcePath = ":/images/logo.png";
QString absolutePath = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(resourcePath);
```
方法2:使用QUrl类
可以使用QUrl类将资源路径转换为文件路径,然后再使用QFileInfo类获取文件的绝对路径。示例代码如下:
```cpp
QString resourcePath = ":/images/logo.png";
QUrl url(resourcePath);
QString absolutePath = QFileInfo(url.toLocalFile()).absoluteFilePath();
```
以上两种方法都可以获得资源文件的绝对路径,选择哪种方法取决于你的需求。