在我的应用程序中,我生成了一个要通过单击按钮打开的 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).
为什么会发生这种情况,我该如何避免呢?