【发布时间】:2010-10-18 22:22:45
【问题描述】:
Qt 中是否有处理文件路径的类?特别是我正在寻找类似 .NET 的 Path.Combine 的东西。
我知道 boost::filesystem 中有一个,但我想知道 Qt 中是否有一个。
【问题讨论】:
Qt 中是否有处理文件路径的类?特别是我正在寻找类似 .NET 的 Path.Combine 的东西。
我知道 boost::filesystem 中有一个,但我想知道 Qt 中是否有一个。
【问题讨论】:
QDir 可能会有所帮助(请参阅 QDir::relativeFilePath 和 QDir::canonicalPath 等)。
引用 QDir 文档:
QDir 用于操作路径 名称,访问信息有关 路径和文件,并操作 底层文件系统。
【讨论】:
QDir::cd(),它(应该)只是return QDir( this->filePath( arg ) )的快捷方式。这与更改进程的 CWD 无关。如果QDir::cd() 允许不存在的名称,那么这将使它成为 Qt 类来抽象出一个路径(目前,QString 服务于这个目的——不是!)。就像现在一样,如果 Sergei 是对的,它就无法发挥潜力,这确实是一个可悲的设计错误。
QDir 提供对目录内容的访问并允许进行各种操作(例如 mkdir)。但不幸的是,没有用于路径组件操作的类。
【讨论】:
另一个可能有用的类是QFileInfo。
来自 Qt 文档:
QFileInfo 类提供 独立于系统的文件信息。
QFileInfo 提供关于一个 文件的名称和位置(路径)在 文件系统,其访问权限和 无论是目录还是符号 链接等文件的大小和最后 修改/读取时间也是 可用的。也可以使用 QFileInfo 获取有关 Qt 的信息 资源。
【讨论】: