私が読んだものはすべてQDesktopServices::openUrl
、デフォルトのプログラムを使用してドキュメントを開くためのプラットフォームに依存しない方法であることを示しており、ほとんどの場合、うまく機能します.
ネットワークパスを渡すと常に失敗するように見えるため、ほぼと言います。ソースを調べてみると、ShellExecuteがエラー コード 2 を返していることがわかります。
例:
QUrl localpath = QUrl::fromLocalFile("C:/temp/myfile.txt");
QUrl networkpath = QUrl::fromLocalFile("//192.168.0.5/my folder/myfile.txt");
QDesktopServices::openUrl(localpath); //works fine
QDesktopServices::openUrl(networkpath); //always fails
ネットワーク パスをクリーンアップして正しく開く方法はありますか? WindowsでQt 4.8を実行しています。スラッシュをバックスラッシュに切り替えても役に立ちません。