В моем приложении я создаю HTML-файл, который хочу открыть, нажав кнопку. Итак, мой файл называется, например:
QString file = "F:/the_path/to_the_/generated_html_file.html";
В Windows я меняю его на:
file = "file:///F:/the_path/to_the_/generated_html_file.html";
чтобы я мог открыть его с помощью:
QDesktopServices::openUrl(QUrl(file));
и он открывается в браузере по умолчанию.
Но когда в пути или имени файла присутствует символ #
, он больше не работает, и кажется, что URL-адрес усекается сразу после #
.
Например, если я назову файл generated#_html_file.html
, я получу следующее сообщение об ошибке:
ShellExecute 'F:/the_path/to_the_/generated' failed (error 2).
Почему так происходит и как этого избежать?