如何将QString视为文件位置并获取其目录

时间:2012-09-06 13:44:05

标签: c++ qt

我从Qt GUI将文件列表收集到QStringList中。这些文件中的每一个都是.txt文件,在same_folder_as_txt/videos/中有相应的视频文件。

是否有一种简单的方法可以将QString对象作为文件路径进行操作?例如,给定C:/some/path/foo.txt,我想要检索C:/some/path/videos/foo.avi

2 个答案:

答案 0 :(得分:10)

将您的路径指定为QString s

info = QFileInfo(s)
// Get the name of the file without the extension
base_name = info.baseName()
// Add a ".avi" extension
video_file = QStringList((base_name, "avi")).join(".")
// Get the directory
dir_name = info.path()
// Construct the path to the video file
video_path = QStringList((dir_name, QString("videos"), video_file).join("/")

答案 1 :(得分:6)

您可以将每个转换为QDir,将修改作为路径执行,然后使用absolutePath()QString恢复。