私のアプリケーション内から一部のハードウェアのpdfマニュアルを開こうとしています。ヘルプメニューから起動します。 OSのデフォルトアプリケーションを使用して、アプリケーションが相対パスからファイルを開くことができないようです。私はQtのフォーラムで参照 Qtプログラムのデフォルトアプリケーションを使用して相対パスでPDFを開くにはどうすればいいですか
QDesktopServices::openUrl(QUrl("file:///home/folder/Manual.pdf"));
を発見し、私は別のコンピュータ上で私のソフトウェアをインストールするつもりですし、絶対パスは同じではありません除いて、これは私のために動作します。私は自分のアプリケーションの隣のマニュアルをインストールして
QDesktopServices::openUrl(QUrl("file:///Manual.pdf"));
のようなもので開きたいのですが、これは
ShellExecute 'file:///Manual.pdf' failed (error 2).
で開くことができない誰もが前にこれを行っていますか?
私は両方の答えが述べたように問題を解決すると思いますが、これはおそらく別の開発者が後で別の前提や変更を行うと、実行ディレクトリ対データディレクトリ対実行可能ディレクトリを変更するときに良いでしょう。ありがとう。 – Brandon