2017-03-12 14 views
1

QDesktopServicesを使用して指定したファイルまたはフォルダをシステムで開くようにしようとしています。PyQT | QDesktopServices.openUrlパスに空白が含まれていると機能しない

以下のコードは、彼らにスペースを持っていないパスに最適に動作しますが、そうでない場合は

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 

であれば実行に失敗します指定されたパスが存在することを示します。

あなたがそうQUrlがネットワークURLとしてパスを扱いますし、そのコンテキストでの使用のためにそれをコードする、file:// URLを使用する必要が

答えて

3

を助けてください。だから代わりにこれを試してください:

url = QUrl.fromLocalFile(self.oVidPath)