我正在尝试从我的应用程序中打开某些硬件的 pdf 手册。它将从帮助菜单中触发。我似乎无法让我的应用程序使用操作系统默认应用程序从相对路径打开文件。我发现
QDesktopServices::openUrl(QUrl("file:///home/folder/Manual.pdf"));
在 Qt 论坛上引用,这对我有用,除非我要在另一台计算机上安装我的软件,并且绝对路径不会相同。我想将手册安装在我的应用程序旁边,并使用类似的内容打开它
QDesktopServices::openUrl(QUrl("file:///Manual.pdf"));
但是无法使用
打开ShellExecute 'file:///Manual.pdf' failed (error 2).
以前有人这样做过吗?
最佳答案
您可以使用
检索绝对路径QString a = QFileInfo("Manual.pdf").absoluteFilePath();
然后将其传递给 QUrl,如下所示:
QUrl url = QUrl::fromLocalFile(a);
关于c++ - 如何使用 Qt 程序中的默认应用程序打开具有相对路径的 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47706073/