我正在尝试从我的应用程序中打开一些硬件的pdf手册。它将从帮助菜单中触发。我似乎无法使用OS默认应用程序使我的应用程序从相对路径打开文件。我发现
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/