使用QFileDialog的getOpenFileName()时发生UnicodeDecodeError

2 投票
1 回答
1468 浏览
提问于 2025-04-17 04:05

这段代码是这样的:

dlg = PyQt4.QtGui.QFileDialog(self) self.filename = dlg.getOpenFileName()

当对话框弹出来时,我点击了一个路径中有中文字符的文件。然后我就遇到了UnicodeDecodeError这个错误。

我试过使用toUtf8()这个函数,但还是没有解决问题。

关于Unicode的东西总是让人很难理解。有没有人能帮我解决这个问题?

1 个回答

2

UnicodeDecodeError这个错误可能是在你发的代码之后出现的。无论如何,可以试试下面的代码:

self.filename = PyQt4.QtGui.QFileDialog.getOpenFileName().decode('utf-8')

顺便说一下,getOpenFilename()是QFileDialog的一个静态方法,这意味着你不需要先创建一个对象就可以直接调用它。

撰写回答