qt QUrl 打开一个pdf

qt QUrl Opening a pdf

我正在尝试通过 Qt 的 "DesktopServices" class.

使用默认应用程序打开 pdf 文件

但我想出一个 ShellExecute

'file:///C:/PMPS/PMPSv1/Instuctionsforuse.pdf' failed (error 2). problem.

这是我的代码:

#include <QDesktopServices>
#include <QUrl>

}

void Dialog::guideButtonClicked()
{
QDesktopServices::openUrl(QUrl("file:///C:/PMPS/PMPSv1/Instuctionsforuse.pdf"));
}

如果您的 Url 中已经有处理程序(如 file:// 等),或者如果您的 Url 已经编码并且应该在没有任何转换和更改的情况下使用,请使用 QUrl::fromUserInput函数。当字符串还不是有效的 URL 时,将执行最佳猜测,做出各种与网络相关的假设。

QUrl localfile = QUrl::fromUserInput("file:///C:/PMPS/PMPSv1/Instuctionsforus‌​e.pdf"); 

您可以通过以下方式检查它是否正确:

 qDebug() << localfile.toLocalFile();