我正在尝试使用QDesktopServices让系统打开指定的文件或文件夹。
下面的代码非常适用于没有空格的路径,但如果不这样做则无法执行
def openFile(self):
print self.oVidPath
print "\n"
url = QUrl(self.oVidPath)
QDesktopServices.openUrl(url)
self.Dialog.close()
和带空格的路径的输出是
/home/kerneldev/Documents/Why alcohol doesn't come with nutrition facts.mp4
gvfs-open: /home/kerneldev/Documents/Why%20alcohol%20doesn't%20come%20with%20nutrition%20facts.mp4: error opening location: Error when getting information for file '/home/kerneldev/Documents/Why%20alcohol%20doesn't%20come%20with%20nutrition%20facts.mp4': No such file or directory
我已经确认指定的路径存在。
请帮助
答案 0 :(得分:4)
您需要使用file://
网址,否则QUrl
会将路径视为网络网址,并对其进行编码以便在该上下文中使用。所以试试这个:
url = QUrl.fromLocalFile(self.oVidPath)