我正在使用OSX而我正在尝试使用QFileDialog加载图像序列。 我的图像序列是:
image.000001.tif
image.000002.tif
image.000003.tif
...
然而,该序列中的所有图像都是另一个图像的别名,我们称之为original.tif
因此,当我尝试使用QFileDialog将文件名加载到字符串变量中时,它会返回原始图像的文件名而不是别名。
我该如何解决?
谢谢!
答案 0 :(得分:3)
如果这些名称是符号链接到original.tif
,您可能需要禁用符号链接解析:
dialog.setOptions(QFileDialog.DontResolveSymlinks);
options
property的文档指出默认情况下所有选项都被禁用,这意味着默认情况下QFileDialog
解析符号链接。
解析符号链接(符号链接)意味着获取指向的实际文件的名称。
请注意,如果您使用的是静态方法,例如getOpenFileName
,您仍然可以将对话框的选项作为最后一个参数传递,例如:
QFileDialog.getOpenFileName(parent, "Open file", "/home/user", "", None,
QFileDialog.DontResolveSymlinks);
另请注意,此方法的文档说明:
在Unix / X11上,文件对话框的正常行为是解决和 按照符号链接。例如,如果
/usr/tmp
是/var/tmp
的符号链接, 输入/var/tmp
后,文件对话框将更改为/usr/tmp
。如果 选项包括DontResolveSymlinks
,文件对话框将处理 符号链接作为常规目录。