Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt-“的;告诉;QFileDialog是否忽略别名?_Python_Qt_Pyqt - Fatal编程技术网

Python PyQt-“的;告诉;QFileDialog是否忽略别名?

Python PyQt-“的;告诉;QFileDialog是否忽略别名?,python,qt,pyqt,Python,Qt,Pyqt,我正在使用OSX,我正在尝试使用QFileDialog加载一个图像序列。 我的图像序列是: image.000001.tif image.000002.tif image.000003.tif ... 但是,该序列中的所有图像都是另一个图像的别名,我们称之为original.tif 因此,当我尝试使用QFileDialog将文件名加载到字符串变量中时,它会返回原始图像的文件名,而不是别名 我怎样才能解决这个问题 谢谢 如果这些名称是指向original.tif的符号链接,则可能需要禁用符号链接

我正在使用OSX,我正在尝试使用QFileDialog加载一个图像序列。 我的图像序列是:

image.000001.tif
image.000002.tif
image.000003.tif
...
但是,该序列中的所有图像都是另一个图像的别名,我们称之为
original.tif

因此,当我尝试使用QFileDialog将文件名加载到字符串变量中时,它会返回原始图像的文件名,而不是别名

我怎样才能解决这个问题

谢谢

如果这些名称是指向
original.tif
的符号链接,则可能需要禁用符号链接解析:

dialog.setOptions(QFileDialog.DontResolveSymlinks);
文档说明默认情况下禁用所有选项,这意味着默认情况下,
QFileDialog
会解析符号链接。 解析符号链接(符号链接)意味着获取指向的实际文件的名称


请注意,如果使用静态方法,例如,仍然可以将对话框的选项作为最后一个参数传递,例如:

QFileDialog.getOpenFileName(parent, "Open file", "/home/user", "", None,
                            QFileDialog.DontResolveSymlinks); 
还请注意,此方法的文档说明:

在Unix/X11上,文件对话框的正常行为是解析和 遵循符号链接。例如,如果
/usr/tmp
是指向
/var/tmp
的符号链接, 输入
/usr/tmp
后,文件对话框将更改为
/var/tmp
。如果 选项包括
DontResolveSymlinks
,文件对话框将处理 符号链接作为常规目录

如果这些名称是指向
original.tif
的符号链接,则可能需要禁用符号链接解析:

dialog.setOptions(QFileDialog.DontResolveSymlinks);
文档说明默认情况下禁用所有选项,这意味着默认情况下,
QFileDialog
会解析符号链接。 解析符号链接(符号链接)意味着获取指向的实际文件的名称


请注意,如果使用静态方法,例如,仍然可以将对话框的选项作为最后一个参数传递,例如:

QFileDialog.getOpenFileName(parent, "Open file", "/home/user", "", None,
                            QFileDialog.DontResolveSymlinks); 
还请注意,此方法的文档说明:

在Unix/X11上,文件对话框的正常行为是解析和 遵循符号链接。例如,如果
/usr/tmp
是指向
/var/tmp
的符号链接, 输入
/usr/tmp
后,文件对话框将更改为
/var/tmp
。如果 选项包括
DontResolveSymlinks
,文件对话框将处理 符号链接作为常规目录


好的,太好了,谢谢!当我得到文件名并将其放入QListWidget时,我不会在底部得到滑动箭头,您可以拖动它并查看完整的文件路径名(如果它很长)。只有当我使用DontResolveSymlinks选项时才会发生这种情况,不知道为什么。这可能是QT中的一个bug吗?@Gambit2007我不知道。可能是。但这应该是另一个问题的主题。好的,非常感谢!当我得到文件名并将其放入QListWidget时,我不会在底部得到滑动箭头,您可以拖动它并查看完整的文件路径名(如果它很长)。只有当我使用DontResolveSymlinks选项时才会发生这种情况,不知道为什么。这可能是QT中的一个bug吗?@Gambit2007我不知道。可能是。但这应该是另一个问题的主题。