上の私は、このような単純なコードを持っている:QDesktopServices :: OpenURLのが動作しません、どちらもURLのもローカルファイルのため、2つのプラットフォーム
int main() {
QUrl url("http://google.com");
if (!QDesktopServices::openUrl(url) )
qDebug() << "Failed to open url";
return 0;
}
コードを実行するには、「URLを開くことができませんでした」を与えます。 UbuntuでQt 5.5.1を試し、MS WindowsでQt 5.7を試してみました。変わりはない。
ローカルファイルも開きません。
int main() {
QString file = "/home/user/testfile.pdf";
if (!QDesktopServices::openUrl(QUrl::fromLocalFile(file) ))
qDebug() << "Failed to open file";
return 0;
}
は再び、 "ファイルを開くことができませんでした"。 UbuntuとWindowsの両方で。私はopenUrlに関するいくつかの議論をopenUrlについて見ることができますが、スペースでURLを開けないなどの特定の機能に関係しています。しかし、ここでは2つの独立したプラットフォーム上で全く動作しません。何が欠けていますか?
あなたのコンピュータにデフォルトのWebブラウザの特定の設定がありますか?例はうまくいくようです。 – johngull
UbuntuではデフォルトブラウザはFirefox、WindowsではChromeです。私は特別な設定をしていませんでした。 – Maximko
私が今見つけたのは、同じQDesktopServices :: openUrlをスタンドアロンコードではなく、より大きなGUIアプリケーションのコンテキスト内で使用すると、開発中です。 (UbuntuとWindowsの両方)。 openUrlがうまくいくためにはいくつか追加のものが必要なようですが、上記の例をコンパイルする際に依存関係のエラーが発生しないのはなぜですか? – Maximko