我正在开发一个项目,我正在使用 Python 和 PyQT4 开发该项目。我偶然发现了 QFileDialog 的一个有点奇怪的行为,在我的 IDE (Eclipse) 中运行项目时不会发生这种行为。
问题是 ExistingFiles 模式下的 QFileDialog 确实无法返回所选文件的列表,当文件路径之一包含德语变音符号(ä、ü、ö 等)时 QFileDialog 不提供选项或参数来制作关于这种情况是明智的。有没有人对如何解决这个问题有任何想法?
编辑:我发生错误的部署方案如下所示。我正在使用 Py2Exe 构建一个可执行文件,然后使用 Inno Setup 使其可分发。不知道这是否可能导致了问题,但我认为信息越多越好。
编辑2:直到星期五我才能访问确切的代码,但是我们有一个 if 语句等待对话框完成。像这样:
fileDialog = QFileDialog(...)
if fileDialog.exec_():
# get the choosen files
fileNames = fileDialog.getSelectedFiles()
# test if if-statement is entered
print fileNames
# convert from QStringList to normal list of Strings
fileNames = list(map(lambda x: str(x), fileNames))
# to suffice as an example print each
for fileName in fileNames:
print fileName
第一个打印命令确实被执行,第二个没有。好像介于两者之间的东西不愿意终止,而 Python 正在以某种方式悄悄地处理异常。但是,在选择文件并单击“打开”或双击文件后,QFileDialog 会按预期关闭。